JavaScript
文章平均质量分 66
the__apollo
水滴石穿,不舍昼夜
展开
-
JavaScript数据类型
一直以来总觉得js的数据类型挺简单的,没有系统的学习过。但直到昨天在控制台下打了个undefined == null ,电脑竟然返回了个true。于是自己在书上翻了翻这方面的知识点,发现坑还真是不少,有很多令人迷惑但却技术上正确的点,便总结一下。JS一共6种数据类型。其中,基本数据类型5种——Undefined,Null,Boolean,Number,String。复杂数据类型一种——Object。原创 2017-08-20 09:17:18 · 311 阅读 · 0 评论 -
JavaScript中的==和===
严格相等运算符 ===简单说明使用三个等号(===)的判断规则: (1)如果类型不同,就一定不相等 (2)如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,只能使用isNaN( ) 来判断) (3)如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。 (4)如果两个值都是true,或是false,那么相等 (5)如果两个原创 2017-08-20 09:47:20 · 323 阅读 · 0 评论 -
JavaScript中的值传递
变量的传递分为两种,分别是值传递和引用传递。但是需要注意的一点是,在JavaScript中,只存在值传递,而不存在引用传递!!!这点非常容易迷惑人,于是总结如下:先看例子function changeStuff(a, b, c){ a = a * 10; b.item = "changed"; c = {item: "changed"};}var num = 10;var obj1原创 2017-08-20 11:35:30 · 720 阅读 · 0 评论 -
一张图让你搞懂JavaScript的继承与原型链
前面的话 javascript里的关系又多又乱。作用域链是一种单向的链式关系,还算简单清晰;this机制的调用关系,稍微有些复杂;而关于原型,则是prototype、proto和constructor的三角关系。本文先用一张图开宗明义,然后详细解释原型的三角关系概念上图中的复杂关系,实际上来源就两行代码 function Foo(){}; var f1 = new Foo; 【构造函转载 2017-08-06 15:46:51 · 3026 阅读 · 1 评论 -
JavaScript中的let与var
先贴两段让人匪夷所思的代码:var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6](); // 10上面这段代码输出的结果是10。var a = [];for (let i = 0; i < 10; i++) { a[i] = function () {原创 2017-08-26 16:05:01 · 503 阅读 · 0 评论 -
JS闭包详解
大名鼎鼎的闭包!这一题终于来了,面试必问。 请用自己的话简述什么是「闭包」。「闭包」的作用是什么。首先来简述什么是闭包 上面三行代码在一个立即执行函数中。 三行代码中,有一个局部变量 local,有一个函数 foo,foo 里面可以访问到 local 变量。 好了这就是一个闭包: 「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。 就这么简单。 有的同学就疑惑转载 2017-08-27 17:21:29 · 440 阅读 · 0 评论