前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点。 JavaScript知识点 1.变量作用域 上方的函数作用域中声明并赋值了a,且 ...
分类:
编程语言 时间:
2017-08-10 10:10:04
阅读次数:
170
JavaScript是一门动态的,弱类型的脚本语言。和大多数编程语言一样,JavaScript也采用词法作用域。也即是说,函数的执行依赖于变量作用域。这个作用域是在函数定义时决定的,而非函数调用。函数对象可以通过作用域链互相关联起来,函数体可访问的变量都可以保存在函数作用域内部。闭包,一个形象的解释 ...
分类:
编程语言 时间:
2017-08-09 13:10:59
阅读次数:
127
一、函数作用域的LEGB:L>E>G>B L(local):函数内部作用域。 E(enclosing):函数内部与内嵌函数之间,主要是内嵌函数对内部函数变量的引用,这时候就成为闭包。 G(global):全局作用域,所定义的全局变量就作用于全局作用域。 B(build-in):python默认导入的 ...
分类:
编程语言 时间:
2017-08-03 14:55:24
阅读次数:
157
新特性 let、const let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域 ES6前,js 是没有块级作用域 {} 的概念的。(有函数作用域、全局作用域、eval作用域) ES6后,let 和 const 的出现,js 也有了块级作用域的概 ...
分类:
其他好文 时间:
2017-08-02 11:52:24
阅读次数:
150
第一种解法: 第二种解法: sql 中有一系列 聚合函数: sum, count, max, avg, 这些函数作用域多条记录上 select sum(population) from b_table; 而通过group by 子句, 可以让sum和 count 这些函数对于属于一组的数据起作用。 ...
分类:
数据库 时间:
2017-08-01 20:39:13
阅读次数:
190
JavaScript:以函数作为作用域 function func(){ if(1==1){ var name = 'xiaoming'; } console.log(name); } func() 注意:函数作用域在函数调用之前,已经创建。 xo = 'jay' function func(){ ...
分类:
编程语言 时间:
2017-07-26 10:44:10
阅读次数:
202
作用域 当变量在程序的某个部分被声明的时候,他只有在程序的一定渔区才能被访问,编译器可以确认4种不同类型的作用域:文件作用域,函数作用域,代码块作用域和原型作用域 1.代码块作用域:位于一对花括号之间的所有语句称为一个代码块.任何在代码块的开始位置声明的标识符都具有代码块作用域,表示他可以被这个代码 ...
分类:
编程语言 时间:
2017-07-26 02:03:51
阅读次数:
293
闭包 有权访问另一个函数作用域中的变量的函数 匿名函数 函数没有名字 少用闭包 由于闭包会携带包含它的函数的作用域,因此会比其它函数占用更多的内存。过度使用闭包可能会导致内存占用过多,我们建议读者只在绝对必要时再考虑使用闭包 模块模式 增强的模块模式 特权方法 有权访问私有变量的公有方法叫做特权方法 ...
分类:
Web程序 时间:
2017-07-25 19:54:12
阅读次数:
173
(1)javascript的变量特点:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。在函数内部声明变量的时候,一定要使用var命令。如果不用的话,声明的是一个全局变量! 闭包就是有权访问另一个函数作用域内变量的函数函数能够记住自己定义时所处的作用域的环境闭包的用途:可以读取 ...
分类:
编程语言 时间:
2017-07-18 13:29:34
阅读次数:
126