
javascript
lqadam
这个作者很懒,什么都没留下…
展开
-
Javascript 进阶知识整理[读Javascript忍者秘籍整理]
对象的创建简短对象:一个键值对的集合 javascript var obj={ name:"", getName:function(){} }; 复杂对象(可重用的对象) 使用new关键字,作用于函数,函数会自动创建一个新的空对象({}),然后用函数中的各种声明填充这个新的对象,最后返回这个新的对象,在此过程中,使用了this关键字,会成为这个对象的公有属性,使用var原创 2016-12-20 22:50:20 · 950 阅读 · 0 评论 -
闭包——Javascript 进阶知识整理
闭包:所谓闭包,是指一个函数A内部定义了另外一个函数B(函数的嵌套定义),当B在执行时可以使用A中定义的变量。闭包的使用场景 闭包可以用在很多地方,一般在定义了变量,然后又定义一个函数,其中使用了刚刚定义的变量的时候,我们就创建的一个闭包。这样的场景常常出现在DOM操作,事件监听等需要将一个函数作为回调函数,等待时机执行的时候。闭包的原理 我们假定有一个函数A,在A函数内部,我们声明了函数B原创 2016-12-21 12:47:15 · 453 阅读 · 0 评论 -
函数中this的指向问题 ——Javascript 进阶知识整理
闭包中this的指向闭包中的函数,调用的对象是全局对象,所以闭包中this的指向是window,这就会带来一个问题,闭包函数如果想使用外部函数中与全局对象同名的变量,使用this.val是不行的,执行时,这回引用全局对象的变量,这个时候需要将外部对象的this在外部函数中暂存起来(比如var that=this),然后在闭包的内部函数中通过缓存的外部函数引用that找到外部函数的变量。 * 使用a原创 2016-12-21 13:35:48 · 1448 阅读 · 0 评论 -
函数拾遗——Javascript 进阶知识整理
函数函数也是一个对象,事实上,JS拥有函数的类型,可以通过var fun=new Function(args,fun_body)的形式定义一个函数。函数作为一个对象,有所有对象所共有的性质,同时,函数还有一个特性:可以被调用执行。函数作为一个对象的方法 一个疑点:当函数作为一个对象的方法时,函数的函数名还是否有意义?因为一般函数作为对象的方法之后,对函数的引用都是通过对象的方法名的。 首先,原创 2016-12-21 13:33:06 · 402 阅读 · 0 评论 -
变量作用域和定时器——Javascript 进阶知识整理
变量作用域和定时器变量提升 JS的解释器在解释JS代码的时候会首先将代码都扫描一遍,将其中的变量和函数的声明提升到代码块的顶部,所以定义在代码后面的函数在前面代码就可以使用,变量也是如此,但是变量提升的仅仅是变量的声明语句,变量的赋值语句并没有提升,所以提前使用的话只会得到undefined的变量。 此外,JS中规定循环和条件判断没有语句块,所以在循环和条件判断中声明的变量在此之外还可以继续使原创 2016-12-21 15:59:10 · 1984 阅读 · 0 评论