摘要: 这个只作为了解,不推荐使用,最大的有点就是在ECMAScript3就存在了。 ES6已经新增了let命令,实际上为我们添加了块级作用域,在ES5之前是没有的,不过可以使用这种方法来实现。 比如下面这个例子, ES6是这样写的 这里最后一行代码会报错,因为上面只在{}代码块内有效。 用try实现 不过 阅读全文
posted @ 2018-09-04 18:03 boses 阅读(144) 评论(0) 推荐(0)
摘要: 开头先给大家一个题目思考,答案在结尾揭晓。 if (a ==2 && a == 3) { //...true } [null] == ""; 首先为什么使用”==“运算符,假设我们需要在想要新建一个Object.is的函数,我们首先会怎么做,是不是判断一下这个方法是不是存在。 如果用严格相等运算符“===”,我们要怎么写? if (typeof Object.is !== 'fun... 阅读全文
posted @ 2018-09-04 18:00 boses 阅读(525) 评论(0) 推荐(0)
摘要: 这句代码大家都很属性,就是为a对象添加一个foo属性。 不过实际上执行的步骤没有这么简单, 首先会查找对象a原型是否有foo这个属性,在向自身查找,如果没有会继续在原型链上查找, 如果查找到顶层还没找到就会返回undefined,因为原型链上没有foo属性,这里会为a对象本身添加foo这个属性。 在 阅读全文
posted @ 2018-09-04 17:42 boses 阅读(128) 评论(0) 推荐(0)
摘要: 这篇文章酝酿了许久,this的指向一直是让初学者痛苦的事情,但也是有迹可循的在学习中绝对不能秉承猜测的想法来进行,这里参考了阮一峰的博客与《你所不知道的JavaScript》一书,以及自己的理解。 这篇文章分为三大部分,第一部分是ES5,第二部分是ES6,因为ES6新增了箭头函数,它有些特殊,第三这 阅读全文
posted @ 2018-09-04 17:29 boses 阅读(157) 评论(0) 推荐(0)
摘要: 首先先说立即执行函数,从名字就可以看出来立即执行函数的特点,在JavaScript中用function表示函数声明,如果在函数声明后面加上括号调用是不允许的 function f() {}(); //SyntaxError: Unexpected token ) 这里会报错,为了避免错误,我们在函数 阅读全文
posted @ 2018-09-04 17:04 boses 阅读(292) 评论(0) 推荐(0)
摘要: 开始说网格布局之前,先说一下什么是网格布局和下面用到的两个新属性,fr和repeat函数的定义。 开始说网格布局之前,先说一下什么是网格布局和下面用到的两个新属性,fr和repeat函数的定义。 如上图,网格布局就是指通过水平和垂直创建的一种模式,可以在这个模式上排列元素,网格通常具有行(row)和 阅读全文
posted @ 2018-09-04 10:16 boses 阅读(6499) 评论(0) 推荐(0)
摘要: 什么是行为委托?简单来说就是一种设计模式,不同于传统的构造函数的“类”式设计。 在这之前先说一下原型的基本知识。什么是原型?简单来说就是一个对象内部关联另外一个对象,本质来说就是对象与对象之间的关联;一个对象本身没有属性或者方法会到原型对象上查找。 这里每个例子会通过构造函数,class和行为委托来 阅读全文
posted @ 2018-09-02 20:45 boses 阅读(430) 评论(0) 推荐(0)