@by Ruth92(转载请注明出处) 第3章:字面量和构造函数 一.创建对象的三种方式 // 对象字面量 var car = {goes: "far"}; // 内置构造函数(反模式) var car = new Object(); car.goes = "far"; // 自定义构造函数 var adam = new Person("Adam"); adam.say(); ☛ 对象字面量的优点: 按需创建对象,在程序生命周期内的任何时候都可以…
三.函数 1.函数的命名属性 // IE下不支持name属性 var foo = function bar () { // todo }; foo.name; // "bar" 2.函数的提升 function foo () { alert("global foo") } function bar () { alert("global bar") } function whoIsMe () { console.log(typeof foo); /…
组合使用构造函数模式和原型模式 上篇,我们提到了原型模式的缺点,就是每个实例不能拥有自己的属性,因为纯原型模式所有的属性都是公开给每个实例的,故我们可以组合使用构造函数模式和原型模式.构造函数用来定义实例的属性,而原型模式用来定义方法和公用属性.这样的话,每个实例都有自己的属性副本(而不是指向原型的引用),同时它也共享原型上方法的引用.而且,这种混合模式还支持对构造函数传参,所以可以说是结合了两种模式的优点.示例如下: ```javascript function Animal(name,typ…
原文:http://whereswalden.com/2013/08/12/micro-feature-from-es6-now-in-firefox-aurora-and-nightly-binary-and-octal-numbers/ 几年前,当SpiderMonkey实现了严格模式的时候.我了解到,严格模式禁用了八进制整数字面量的写法.因为有证据表明,一些新手会利用前导0来对齐多行中的数字,从而导致意想不到的结果: var sum = 015 + // 相当于十进制的13,而不是15 1…
本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达式: 使用new RegExp()构造函数 使用正则表达字面量 先说结果,使用正则表达字面量的效率更高. 下面的示例代码演示了两种可用于创建正则表达式以匹配反斜杠的方法: //正则表达字面量 var re = /\\/gm; //正则构造函数 var reg = new RegExp("\\\\&q…