摘要: 1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 2. 相同点:这两个方法的作用是一样的。 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。 一般来说,this总是指向调用某个方法的对象,但是使用call()和apply() 阅读全文
posted @ 2018-09-06 16:59 博客小鹏鹏 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 链接顺序: 1. https://blog.csdn.net/ligang2585116/article/details/53522741 2.https://www.jianshu.com/p/80bcf8b2004e 3.http://www.cnblogs.com/smoothLily/p/4 阅读全文
posted @ 2018-09-06 16:37 博客小鹏鹏 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 闭包(closure)是 Javascript 语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 理解闭包,首先必须理解变量作用域。前面提到,JavaScript 有两种作用域:全局作用域和函数作用域。函数内部可以直接读取全局变量。 上面代码中,函数f1可以读取全局变量n。 但是,函数外 阅读全文
posted @ 2018-09-06 16:01 博客小鹏鹏 阅读(301) 评论(0) 推荐(0) 编辑
摘要: arguments对象包含了函数运行时的所有参数,arguments[0]就是第一个参数,arguments[1]就是第二个参数,以此类推。这个对象只有在函数体内部,才可以使用。 正常模式下,arguments对象可以在运行时修改。 严格模式下,arguments对象是一个只读对象,修改它是无效的, 阅读全文
posted @ 2018-09-06 15:49 博客小鹏鹏 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 上面代码中,传入函数f的是参数对象obj的地址。因此,在函数内部修改obj的属性p,会影响到原始值。 注意,如果函数内部修改的,不是参数对象的某个属性,而是替换掉整个参数,这时不会影响到原始值。 因为上述中对象obj举个例子,指的地址是1101-1110 这一条街(内存段),改变了这条街P店的名字, 阅读全文
posted @ 2018-09-06 15:41 博客小鹏鹏 阅读(124) 评论(0) 推荐(0) 编辑
摘要: JavaScript 原生提供两个 Base64 相关的方法。 btoa():任意值转为 Base64 编码 atob():Base64 编码转为原来的值 注意,这两个方法不适合非 ASCII 码的字符,会报错。 要将非 ASCII 码字符转为 Base64 编码,必须中间插入一个转码环节,再使用这 阅读全文
posted @ 2018-09-06 11:17 博客小鹏鹏 阅读(218) 评论(0) 推荐(0) 编辑