摘要:
1 什么是对象 多个数据的封装体,或者说用来保存多个数据的容器,一个对象代表现实中的一个事物 2 为什么要用对象 统一管理多个数据 3 对象的组成 属性:有属性名(字符串)和属性值(任意数据类型)组成 方法:一种特别的属性(属性值是函数) 4 如何访问对象内部数据 ①.属性名:编码简单,有时不能用, 阅读全文
posted @ 2022-03-12 18:43
青仙
阅读(31)
评论(0)
推荐(0)
摘要:
问题:关于赋值和内存的问题 var a = xxx, a内存中到底保存的是什么? ①xxx是基本类型的数据,保存的就是这个数据 ②xxx是对象,保存的是对象的地址值(内存地址) ③xxx是一个变量,保存的该变量对应的内存中的数据(可能是基本类型的数据,也可能是地址值) 问题:关于引用变量赋值的问题 阅读全文
posted @ 2022-03-12 18:41
青仙
阅读(149)
评论(0)
推荐(0)
摘要:
1 什么是数据 存储在内存中代表特定信息的东西,就是对事物的描述,本质上是二进制。 数据的特点:可传递,可运算。 内存中所有操作的目标:数据 算术运算 逻辑运算 赋值 运算函数 2 什么是内存 内存条通电以后产生的可存储数据的空间(临时的) 内存产生和死亡:内存条(电路板)=>通电=>产生内存空间= 阅读全文
posted @ 2022-03-12 18:36
青仙
阅读(62)
评论(0)
推荐(0)
摘要:
1 undefined与null的区别 undefined代表定义未赋值 null代表定义并赋值了,只是值为null 2 什么时候给变量赋值为null ①初始赋值,表明将要赋值为对象。 ②结束前,让对象成为垃圾对象(被垃圾回收器回收) 3 严格区分数据类型和变量类型 ①数据类型 —-基本类型 —-对 阅读全文
posted @ 2022-03-12 18:35
青仙
阅读(30)
评论(0)
推荐(0)
摘要:
1分类 基本(值)类型 String:任意字符串 Number:任意数字 Boolean:true/false Null:null Undefined:undefined 对象(引用)类型 Object:任意的对象(一般对象内部数据无序) Function:一种特别的对象(可以执行) Array:一 阅读全文
posted @ 2022-03-12 18:27
青仙
阅读(49)
评论(0)
推荐(0)
摘要:
JSON js中的对象只有js自己能认识,其它的语言都不认识。 JSON就是一个特殊格式的字符串,这个字符串可以被任意的语言所识别,并且可以转换为任意语言中的对象,JSON在开发中主要用来在不同语言之间的数据的交互。 —-JavaScript Object Notation(JSON):JS对象表示 阅读全文
posted @ 2022-03-12 18:23
青仙
阅读(72)
评论(0)
推荐(0)
摘要:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>二级菜单</title> <style type="text/css"> * { margin: 0; padding: 0; list-style-type: none; } a 阅读全文
posted @ 2022-03-12 18:18
青仙
阅读(52)
评论(0)
推荐(0)
摘要:
样式与行为混合 通过style属性来修改元素的样式,每修改一个样式 ,浏览器就需要重新渲染一次页面 这样的执行的性能是比较差的,而且这种形式当我们要 修改多个样式时,也不太方便。 而且,css是样式,js是行为,这样的操作就是行为和表现混合了,在开发中尽量少用。 解决思路 我们可以通过修改元素的cl 阅读全文
posted @ 2022-03-12 18:15
青仙
阅读(129)
评论(0)
推荐(0)
摘要:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } /* * 设置outer的样式 */ #outer{ /* 阅读全文
posted @ 2022-03-12 18:13
青仙
阅读(95)
评论(0)
推荐(0)
摘要:
应用1 点击按钮以后,box持续向右边移动,到800px时停下。 <html> <head> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } #box1{ width: 100px; height: 阅读全文
posted @ 2022-03-12 18:11
青仙
阅读(47)
评论(0)
推荐(0)
摘要:
延时调用setTimeout() 延时调用一个函数不会马上执行,而是隔一段时间以后再执行,而且只会执行一次。 延时调用和定时调用的区别,定时调用会执行多次,而延时调用只会执行一次。 使用clearTimeout();来关闭一个延时调用。 延时调用和定时调用实际上是可以相互替代的,在开发中可以根据自己 阅读全文
posted @ 2022-03-12 18:09
青仙
阅读(404)
评论(0)
推荐(0)
摘要:
第一个练习自动切换图片 <html> <head> <meta charset="UTF-8"> <title></title> <style> #img1{ width:200px; height: 200px; } </style> <script> //图片路径的数组 var imgs=["i 阅读全文
posted @ 2022-03-12 18:08
青仙
阅读(142)
评论(0)
推荐(0)
摘要:
js的程序执行速度是非常非常快的,如果希望一段程序,可以每间隔一段时间执行一次,可以使用定时调用。 setInterval() 定时调用,可以将一个函数,每隔一段时间执行一次。 参数: 1、回调函数,该函数会每隔一段时间被调用一次。 2、每次调用间隔的时间,单位是毫秒。 返回值: 返回一个Numbe 阅读全文
posted @ 2022-03-12 18:04
青仙
阅读(86)
评论(0)
推荐(0)
摘要:
Location —-代表当前浏览器的地址栏信息,通过Location可以获取地址栏的信息,或者操作浏览器跳转页面。 如果直接打印location,则可以获取到地址栏的信息(当前页面的完整的路径)。 alert(location); 如果直接将location属性修改为一个完整的路径,或相对路径,则 阅读全文
posted @ 2022-03-12 18:02
青仙
阅读(63)
评论(0)
推荐(0)
摘要:
History —-代表浏览器的历史纪录,可以通过该对象来操作浏览器的历史纪录,由于隐私原因,该对象不能获取到具体的历史纪录,只能操作浏览器向前或向后翻页,而且该操作只在当次访问时有效。 length 属性:可以获取到当前访问的链接数量。 用法:history.length back() 方法:可以 阅读全文
posted @ 2022-03-12 17:58
青仙
阅读(66)
评论(0)
推荐(0)
摘要:
判断是什么浏览器 Navigator代表的当前浏览器的信息,通过该对象可以来识别不同的浏览器。由于历史原因,Navigator中的大部分属性都已经不能帮助我们识别浏览器了,一般我们只会使用userAgent属性来判断浏览器的信息,userAgent是一个字符串,这个字符串包含有用来描述浏览器信息的内 阅读全文
posted @ 2022-03-12 17:54
青仙
阅读(49)
评论(0)
推荐(0)
摘要:
BOM 浏览器对象模型 —-BOM可以使我们通过js来操作浏览器。 —-在BOM中为我们提供了一组对象,用来完成对浏览器的操作。 这一组对象就是BOM的对象。 Window对象 —-代表的是整个浏览器的窗口,同时window也是网页中的全局对象。 2、Navigator —-代表的当前浏览器的信息, 阅读全文
posted @ 2022-03-12 17:47
青仙
阅读(54)
评论(0)
推荐(0)
摘要:
onkeydown —-按键被按下 对于onkeydown来说如果一直按着某个按键不松手,则事件会一直触发。 当onkeydown连续触发时,第一次和第二次之间会间隔稍微长一点,只会就会非常的快触发,这种设计是为了防止误操作的发生。 可以通过keycode来获取按键的编码,通过它可以判断哪个按键被按 阅读全文
posted @ 2022-03-12 17:45
青仙
阅读(461)
评论(0)
推荐(0)
摘要:
onmousewheel 鼠标滚轮滚动的事件,会在滚轮滚动时触发,但是火狐不支持该属性。 在火狐中需要使用DOMMouseScroll来绑定滚动事件,注意该事件需要通过addEventListener()函数来绑定 wheelDelta 该属性可以获取鼠标滚动的方向,向上滚值为120,向下滚值为-1 阅读全文
posted @ 2022-03-12 17:42
青仙
阅读(854)
评论(0)
推荐(0)
摘要:
<html> <head> <meta charset="UTF-8"> <title></title> <style> #box1{ width: 150px; height: 150px; background-color: aqua; position: absolute; } #box2{ 阅读全文
posted @ 2022-03-12 17:39
青仙
阅读(64)
评论(0)
推荐(0)
摘要:
事件的传播 —-关于事件的传播网景公司和微软公司有不同的理解。 —-微软公司认为事件应该是由内向外传播,也就是当事件触发时,也该先触发当前元素上的事件,然后再向当前元素的祖先元素上传播,也就是事件应该在冒泡阶段进行。 —-网景公司认为事件应该是由外向内传播的,也就是当事件触发时,应当先触发当前元素的 阅读全文
posted @ 2022-03-12 17:35
青仙
阅读(129)
评论(0)
推荐(0)
摘要:
事件的绑定 使用 对象.事件=响应函数 这种形式绑定响应函数,它只能同时为一个元素的一个事件绑定一个响应函数,不能绑定多个,如果绑定了多个,则后边的会覆盖掉前边的。 addEventListener() 通过这个方法也可以为元素绑定响应函数。 参数: 1,事件的字符串(名称),不要on。 2,回调函 阅读全文
posted @ 2022-03-12 17:16
青仙
阅读(112)
评论(0)
推荐(0)
摘要:
事件的委派 —-指将事件统一绑定给元素的共同的祖先元素,这样当后代元素上的事件触发时,会一直冒泡到祖先元素,从而通过祖先元素的响应函数来处理事件。 —-事件的委派是利用了冒泡,通过委派可以减少事件的绑定的次数,提高程序的性能。 target event(事件对象)中的target表示的是触发事件的元 阅读全文
posted @ 2022-03-12 17:10
青仙
阅读(125)
评论(0)
推荐(0)
摘要:
事件的冒泡(Bubble) 所谓的冒泡指的是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发。在开发中大部分情况冒泡都是有用的,如果不希望发生事件冒泡可以通过事件对象来取消冒泡。 —-取消冒泡,可以将事件对象的cancelBubble设置为true,即可取消冒泡。比如:ev 阅读全文
posted @ 2022-03-12 17:06
青仙
阅读(505)
评论(0)
推荐(0)
摘要:
要使用js修改某个元素的偏移量来使其移动,必须要为该元素设置定位,一般都将其设置为绝对定位。 pageX和pageY 可以获取鼠标相对于当前页面的坐标。整个document文档的大小,而不是根据当前可见窗口大小来获取坐标。但是这两个属性在IE8中不支持,所以如果需要兼容IE8,则不要使用。 练习 < 阅读全文
posted @ 2022-03-12 11:47
青仙
阅读(136)
评论(0)
推荐(0)
摘要:
事件对象 —-当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数中。 —-在事件对象中封装了当前事件相关的一切信息。比如:鼠标的坐标,键盘哪个按键被按下、鼠标滚轮滚动的方向。。。 事件对象.clientX可以获取鼠标指针的水平坐标。(获取鼠标在当前可见的窗口的坐标), 获取 阅读全文
posted @ 2022-03-12 11:46
青仙
阅读(89)
评论(0)
推荐(0)
摘要:
clientHeight clientWidth 这两个属性可以获取元素的可见宽度和高度。 这些属性返回的都是不带单位(px)的,返回的都是一个数字,可以直接进行计算, 会获取元素的宽度和高度,包括内容区和内边距,但是除开边框。 这些属性都是只读的,不能修改。 offsetHeight offset 阅读全文
posted @ 2022-03-12 11:43
青仙
阅读(58)
评论(0)
推荐(0)
摘要:
获取元素的样式currentStyle 就是获取元素的当前显示的样式,如果要获取到元素没有设置该样式,则获取它的默认值,比如说,当前元素没有设置background-color样式,你用这个属性获取的就是默认值:transparent(透明的)。 它和style的区别就是它可以获取元素当前正在使用的 阅读全文
posted @ 2022-03-12 11:37
青仙
阅读(576)
评论(0)
推荐(0)
摘要:
通过JS修改元素的内联样式 语法:元素.style.样式名=样式值; 在使用js改变css样式时,如果Css样式名中含有-(减号),需要将这种样式名修改为驼峰命名法,去掉-,然后将-号后面的字母大写。 比如: 在写样式时,background-color: red; 使用js修改样式时,div.st 阅读全文
posted @ 2022-03-12 11:36
青仙
阅读(164)
评论(0)
推荐(0)
摘要:
取消超链接的默认行为 点击超链接后,超链接会跳转页面,这个是超链接的默认行为,但是此时我们不希望出现默认行为,可以通过在响应函数的最后return false来取消默认行为。 比如: window.onload=function(){ //获取a标签 var mya=document.getElem 阅读全文
posted @ 2022-03-12 11:33
青仙
阅读(107)
评论(0)
推荐(0)
摘要:
DOM相关操作 使用innertHtml也可以完成DOM相关操作,不过它是把全部内容删了重新加载的,动静太大,一般结合DOM相关操作的方式同时使用。 document.createElement() 可以用于创建一个元素节点对象,它需要一个标签名作为参数,将会根据该标签名创建元素节点对象,并将创建好 阅读全文
posted @ 2022-03-12 11:30
青仙
阅读(70)
评论(0)
推荐(0)
摘要:
获取body标签 var mybody=document.getElementsByTagName("body")[0]; console.log(mybody); //或者下面这种方法 //var mybody=document.body; //console.log(mybody); 在docu 阅读全文
posted @ 2022-03-12 11:27
青仙
阅读(86)
评论(0)
推荐(0)
摘要:
<html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript"> window.onload=function(){ //定义一个单击响应函数 var myClick=function(nod 阅读全文
posted @ 2022-03-12 11:22
青仙
阅读(27)
评论(0)
推荐(0)
摘要:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; } #outer{ width: 550px; margi 阅读全文
posted @ 2022-03-12 11:21
青仙
阅读(40)
评论(0)
推荐(0)
摘要:
获取元素节点 通过document对象调用 getElementById() –—通过id属性获取一个元素节点对象 getElementsByTagName() –—通过标签名获取一组元素节点对象,这个方法给我们返回一个类数组对象,所有查询到的元素都会封装到类数组对象(arguments)中,即使查 阅读全文
posted @ 2022-03-12 11:19
青仙
阅读(133)
评论(0)
推荐(0)
摘要:
浏览器在加载一个页面时,是按照自上而下的顺序加载的,读取到一行就运行一行,如果将script标签(js代码)写到页面上面,在代码执行时,页面还没有加载,页面没有加载DOM对象也没有加载,会导致无法获取到DOM对象 比如: <head> <meta charset="UTF-8"> <title></ 阅读全文
posted @ 2022-03-12 11:13
青仙
阅读(153)
评论(0)
推荐(0)
摘要:
事件 事件,就是文档和浏览器窗口之间发生的一些特定的交互瞬间(交互行为)。 比如:点击按钮、鼠标移动、关闭窗口。。。。 我们可以在事件对应的属性中设置一些JS代码,这样当事件被触发时,这些代码将会被执行。 比如: <button id="btn1" onclick="alert('触发了单击事件!' 阅读全文
posted @ 2022-03-12 11:10
青仙
阅读(64)
评论(0)
推荐(0)
摘要:
什么是DOM DOM,全称是Document Object Model ,文档对象模型。 JS中通过DOM来对HTML文档进行操作。只要理解了DOM就可以随心所欲的操作WEB页面。 文档 —-表示的是整个HTML网页文档 对象 —-对象表示将网页中的每一个部分都转换为了一个对象。 模型 —-使用模型 阅读全文
posted @ 2022-03-12 11:03
青仙
阅读(290)
评论(0)
推荐(0)
摘要:
创建一个正则表达式,检查一个字符串中是否含有aaa var reg=/a{3}/; console.log(reg.test("aaabc")); 量词 —-通过量词可以设置一个内容出现的次数。 —-量词只对它前面的一个字符起作用,如果想要它前面的一坨内容起作用,就要将它前面的那一坨加个括号括起来, 阅读全文
posted @ 2022-03-12 10:59
青仙
阅读(70)
评论(0)
推荐(0)
摘要:
使用字面量来创建正则表达式 语法:var 变量=/正则表达式/匹配模式 比如: var reg=/a/i; var result=reg.test('A'); console.log(result); 创建一个正则表达式检查一个字符串中是否有a或b 使用|表示或的意思 var reg=/a|b/i; 阅读全文
posted @ 2022-03-12 10:54
青仙
阅读(57)
评论(0)
推荐(0)
摘要:
split():可以将一个字符串拆分为一个数组 方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串。 这个方法即使不指定全局匹配,也会全部拆分。 比如:根据任意字母来拆分字符串。 var str="1a2b3c4d5e6f7"; var result=str.split(/ 阅读全文
posted @ 2022-03-12 10:52
青仙
阅读(138)
评论(0)
推荐(0)
摘要:
正则表达式 —-正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,或者将字符串中符合规则的内容提取出来。 创建正则表达式的对象 语法:var 变量=new RegExp(‘正则表达式’,’匹配模式’); 使用typeof检查正则表达式对象,会返回Object 阅读全文
posted @ 2022-03-12 10:50
青仙
阅读(43)
评论(0)
推荐(0)
摘要:
在底层字符串是以字符数组的形式保存的 比如: var str=”hello”; 在底层以数组的形式存储。 [‘h’,’e’,’l’,’l’,’o’] length属性 和数组类似,可以用来获取字符串的长度 var str=”hello”; console.log(str.length);//输出结果 阅读全文
posted @ 2022-03-12 10:49
青仙
阅读(81)
评论(0)
推荐(0)
摘要:
基本数据类型 String Number Boolean Null Undefined 引用数据类型 Object 在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象 String() —-可以将基本数据类型字符串转换为String对象 Number() —-可以将基 阅读全文
posted @ 2022-03-12 10:41
青仙
阅读(58)
评论(0)
推荐(0)
摘要:
Math —-Math和其它的对象不同,它不是一个构造函数; 它属于一个工具类,工具类:不用创建对象,它里面封装了数学运算相关的属性和方法 —-比如: Math.PI 表示圆周率 abs():可以用来计算一个数的绝对值 var a=-1; console.log(Math.abs(a)); 输出结果 阅读全文
posted @ 2022-03-12 10:38
青仙
阅读(114)
评论(0)
推荐(0)
摘要:
创建一个Date对象 —-如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间 var d=new Date(); console.log(d); 上面输出结果就是当前系统的时间 创建一个指定的时间对象 需要在构造函数中传递一个表示时间的字符串作为参数 日期的格式 :月份/日/年 阅读全文
posted @ 2022-03-12 10:32
青仙
阅读(46)
评论(0)
推荐(0)
摘要:
在调用函数时,浏览器每次都会传递进两个隐含的参数: 1,函数的上下文对象this。 2、封装实参的对象arguments —-arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度, —-在调用函数时,我们所传递的实参都会封装到arguments中 —-arguments.l 阅读全文
posted @ 2022-03-12 10:25
青仙
阅读(154)
评论(0)
推荐(0)
摘要:
—-这两个方法都是函数对象的方法,需要通过函数对象来调用 —-当对函数调用call()和apply()都会调用函数执行。 比如: fun.call(); fun.apply(); fun(); 以上三种效果一致。 —-在调用call()和apply()可以将一个对象指定为第一个参数,此时这个对象将会 阅读全文
posted @ 2022-03-12 10:14
青仙
阅读(137)
评论(0)
推荐(0)
摘要:
slice() —-可以通过索引来从数组中提取指定元素 —-该方法不会改变元素数组,而是将截取到的元素封装到一个新的数组中返回。 —参数 1(必须):截取开始的位置的索引,包含开始索引。 2(可选):截取结束的位置的索引,不包含结束索引。不写该参数则会截取从开始到最后的所有元素。 索引可以传一个负值 阅读全文
posted @ 2022-03-12 10:05
青仙
阅读(79)
评论(0)
推荐(0)
摘要:
forEach 一般我们都是使用for循环去遍历数组,JS中还为我们提供了一个方法,用来循环遍历数组。 forEach() —这个方法只支持IE8以上的浏览器, IE8以下的浏览器均不支持该方法,所以如果需要兼容IE8,则不要使用forEach,还是使用for循环来遍历。如果在IE8以下使用会报错。 阅读全文
posted @ 2022-03-12 10:02
青仙
阅读(1116)
评论(0)
推荐(0)
摘要:
所谓的遍历数组,就是将数组中所有的元素都取出来 var arr=['孙悟空','猪八戒','沙悟净']; //所谓的遍历数组,就是将数组中所有的元素都取出来 for (var i=0;i<arr.length;i++) { console.log(arr[i]); } 输出结果: 阅读全文
posted @ 2022-03-12 10:01
青仙
阅读(42)
评论(0)
推荐(0)
摘要:
push() —-该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度。 —-可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾。 —-该方法会将数组新的长度作为返回值返回。 比如: var arr=['孙悟空','猪八戒','沙悟净']; console.log(a 阅读全文
posted @ 2022-03-12 10:00
青仙
阅读(51)
评论(0)
推荐(0)
摘要:
使用字面量来创建数组 语法:[]; //创建数组对象 var arr=[]; console.log(typeof arr); 使用字面量创建数组时,可以在创建时就指定数组中的元素 //创建数组对象 var arr=[10,20,30,40]; console.log(arr); 使用构造函数创建数 阅读全文
posted @ 2022-03-12 09:56
青仙
阅读(153)
评论(0)
推荐(0)
摘要:
数组(Array) —-数组也是一个对象 —-它和我们普通对象功能相似,也是用来存储一些值的 —-不同的是普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引来操作元素的。 —-索引: 从0开始的整数就是索引。 —-数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据。 实际 阅读全文
posted @ 2022-03-12 09:50
青仙
阅读(50)
评论(0)
推荐(0)
摘要:
垃圾回收(GC) 就像人生活的时间长了会产生垃圾一样,程序运行过程中也会产生垃圾, 这些垃圾积攒过多以后,会导致程序运行的速度过慢,所以我们需要一个垃圾回收的机制,来处理程序运行时产生的垃圾 当一个对象没有任何的变量或属性对它进行引用,此时我们将永远无法操作该对象,此时这种对象就是一个垃圾,这种对象 阅读全文
posted @ 2022-03-12 09:49
青仙
阅读(87)
评论(0)
推荐(0)
摘要:
当我们直接在一个页面里打印一个对象时,实际上是输出对象的toString()方法的放回值。(自带的浏览器) <script> //创建一个构造函数 function Person(name,age,gender){ this.name=name; this.age=age; this.gender= 阅读全文
posted @ 2022-03-12 09:47
青仙
阅读(230)
评论(0)
推荐(0)
摘要:
找对象自己的属性 使用in检查对象中是否有某个属性时,如果对象中没有但是原型中有,也会返回true; 可以使用hasOwnProperty()方法来检查对象自身中是否含有该属性 <script> //创建一个构造函数 function MyClass(){ } //向MyClass原型对象中添加一个 阅读全文
posted @ 2022-03-12 09:30
青仙
阅读(36)
评论(0)
推荐(0)
摘要:
将saynaem在全局作用域里定义 将函数定义在全局作用域,污染了全局作用域的命名空间,而且定义在全局作用域也很不安全, <script> function Person(naem,age,gender){ this.name=naem; this.age=age; this.gender=gend 阅读全文
posted @ 2022-03-12 09:20
青仙
阅读(92)
评论(0)
推荐(0)
摘要:
创建一个Person构造函数 —-在Person构造函数中,为每一个对象都添加了一个sayname方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayname方法,也就是所有的实例的sayname方法都是唯一的。这样就导致了构造函数执行一次就会创建一个新方法,比 阅读全文
posted @ 2022-03-12 09:09
青仙
阅读(272)
评论(0)
推荐(0)
摘要:
创建一个构造函数 js的构造函数就相当于C#中的类,只是ES5之前js没有类class这个用法,都用构造函数模拟类。 创建一个构造函数,专门用来创建Person对象的。 构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。 构造函数和普通函数的区别就是调用方式的 阅读全文
posted @ 2022-03-12 09:04
青仙
阅读(116)
评论(0)
推荐(0)
摘要:
使用工厂方法创建对象 使用该方法可以批量创建对象 <script> function createperson(name,age,gender){ var obj=new Object(); obj.name=name; obj.age=age; obj.gender=gender; return 阅读全文
posted @ 2022-03-12 08:58
青仙
阅读(39)
评论(0)
推荐(0)
摘要:
—-解析器(浏览器)在调用函数每次都会向函数内部传递进一个隐含的参数 这个参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象,根据函数的调用方式不同,this会指向不同的对象。 1,以函数方式调用时,this永远都是指向window。 2,以方法的形式调用时,this就 阅读全文
posted @ 2022-03-12 08:52
青仙
阅读(42)
评论(0)
推荐(0)
摘要:
作用域 作用域指一个变量的作用的范围 在js中一共有两种作用域: 1.全局作用域 —-直接编写在script标签中的js代码,都在全局作用域。 全局作用域在页面打开时创建,在页面关闭时销毁。 —-在全局作用域中有一个全局对象window,我们可以直接使用,它代表的是一个浏览器的窗口,它由浏览器创建, 阅读全文
posted @ 2022-03-12 08:39
青仙
阅读(308)
评论(0)
推荐(0)
摘要:
枚举对象中的属性 使用for…in 语句 语法:for(var 变量 in 对象){ } for…in 语句 :对象中有几个属性,循环体就会执行几次。每次执行时,会将对象中的一个属性的名字赋值给变量。 var obj={ name:"孙悟空", gender:'男', hobby:'乒乓球', ag 阅读全文
posted @ 2022-03-12 08:24
青仙
阅读(88)
评论(0)
推荐(0)
摘要:
立即执行函数(函数自调用) 函数定义完,立即被调用,这种函数叫做立即执行函数,立即执行函数往往只执行一次 一般函数调用语法:函数对象(); 而匿名函数(立即执行函数)调用语法如下: (function(){ alert('我是一个匿名函数'); })() 传参如下: (function(a,b){ 阅读全文
posted @ 2022-03-12 08:22
青仙
阅读(150)
评论(0)
推荐(0)
摘要:
return 可以使用return来设置函数的返回值 语法:return 值; 函数如果有返回值需要定义一个变量(容器)来接收,在函数中return后面的语句不会被执行。 如果return 语句后不跟任何值就相当于返回一个undefined,如果函数中不写return,则也返回undefined r 阅读全文
posted @ 2022-03-12 08:20
青仙
阅读(1088)
评论(0)
推荐(0)
摘要:
可以在函数的()中来指定一个或多个形参(形式参数),多个形式参数之间用逗号(,)隔开,声明形式参数就相当于在函数内部声明了对应的变量,但是并没有赋值。 在调用函数时,可以在()中指定实参(实际参数),实参将会赋值给函数中对应的形参。调用函数时解析器(浏览器)不会检查实参的类型,所以要注意,是否有可能 阅读全文
posted @ 2022-03-12 08:10
青仙
阅读(157)
评论(0)
推荐(0)
摘要:
函数function —函数也是一个对象。 —函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)。 —函数中可以保存一些代码在需要的时候调用。 —使用typeof检查一个函数对象时,会返回一个function 比如: var fun=new Function(); console.lo 阅读全文
posted @ 2022-03-12 08:04
青仙
阅读(29)
评论(0)
推荐(0)

浙公网安备 33010602011771号