JS知识点
总结知识点,以防遗忘
胡鹤婷
努力靠近理性的工科产品胡
展开
-
漫谈闭包
什么是闭包? 红宝书定义: 闭包是指有权访问另外一个函数作用域中变量的函数 MDN闭包定义: 闭包是指那些能够访问自由变量的函数。 闭包产生的原因? 理解闭包,首先要明白作用域的概念,在ES5中只存在两种作用域-全局作用域和函数作用域,当访问一个变量时,解释器会首先在当前作用查找标识符,如果没有找到,就去父作用域找,直到找到该变量的标示符不在父作用域中,这就是作用域链,每个子函数会拷贝上级的作...原创 2019-10-28 21:31:27 · 397 阅读 · 0 评论 -
javascript传递参数如果是object的话,是按值传递还是按引用传递?
先看看这段代码的输出结果: function test(person) { person.age = 26 person = { name: 'huahua', age: 90 } return person } const p1 = { name: 'cc', age: 11 } const p2 = test(p1) console.log(p1) //...原创 2019-10-28 11:01:38 · 1063 阅读 · 0 评论 -
NaN
NaN属性代表非数字值得特殊值,该属性用于表示某个值不是数字。可以把Number对象设置为该值,来指示其不是数字值。 isNaN()全局函数用来判断一个值是否是NaN值 NaN意味着“不是数字”,但是它的类型是 number NaN与所有的值都不相等,包括它自己 所以判断一个值是否是NaN,我们可以使用value !== value,如果值等于NaN,只会产生true,另外ES6提供了一个...原创 2018-05-02 22:20:49 · 1830 阅读 · 0 评论 -
this指向问题
看题: var myObject = { foo:"xiaohu", func:function(){ var that = this; console.log(this.foo);//xiaohu console.log(that.foo);//xiaohu (function(){ console.log(this == window)...原创 2018-05-01 22:27:37 · 162 阅读 · 0 评论 -
typeof
常见使用typeof判断类型的结果: typeof undefined //undefined typeof null //object typeof NaN //number typeof function(){} //function typeof [] //object 判断object的时候,有可能因为是null,因...原创 2018-05-01 18:57:27 · 262 阅读 · 0 评论 -
变量赋值问题
(function(){ var a = b = 3; })(); console.log(typeof a);//undefined console.log(typeof b);//number 解析: 首先理解一句话是在立即执行函数体里面var a = b = 3;对这个进行拆解一下(赋值过程从左到右) b = 3; var a = b; 变量b是一个全局变量 变量a在封闭的...原创 2018-05-01 19:42:29 · 302 阅读 · 0 评论