@by Ruth92(转载请注明出处) 第3章:字面量和构造函数 一.创建对象的三种方式 // 对象字面量 var car = {goes: "far"}; // 内置构造函数(反模式) var car = new Object(); car.goes = "far"; // 自定义构造函数 var adam = new Person("Adam"); adam.say(); ☛ 对象字面量的优点: 按需创建对象,在程序生命周期内的任何时候都可以…
一 对象字面量 1.1对象字面量的语法 1,对象键值对哈希表,在其他的编程语言中称之为“关联数组”, 2 键值对里面的值,可以是原始类型也可以是其他类型的对象,称之为属性,函数称之为方法 3 自定义对象的属性和方法是可以改变的,也可以删除 4 将对象包括在大括号中 2,对象中是键值对,键值对与键值对之间使用逗号分隔 3,键值对的键和值使用冒号分隔 1.2.来自构造函数的对象 下面介绍两种创建对象的方法:1,对象字面量:2,使用内置构造函数(反模式)      1,使用字面量创建对象 var ca…
对象字面量 首先给出对象字面量的定义语法: 1. 将对象定义在一对括号中(左大括号“{”和右大括号”}”) 2. 对象中以逗号分隔属性和方法. 每个属性或方法以key-value的形式出现, key和value之间以冒号分割. 3. 当给变量赋值时, 不要忘记或大括号后面的分号 空对象 var obj = {}; 这样就定义了一个空的对象, 但它并非什么也没有, 至少它具有从Object.prototype中继承下来的属性和方法. 来自构造函数的对象 语法: // 反模式, 不推荐这么用 Var…
二.字面量和构造函数 1,能够使用对象字面量时,就没理由使用new Object构造函数 // 一个空对象var 0 = new Object();console.log( o.constructor === Object ); //true // 一个数值对象var o = new Object(1);console.log( o.constructor === Number ); //true 2.自定义构造函数 可重用的成员,比如可重用方法,都应该放置到对象的原型中 3.构造函数的返回值…
新的篇章开始了,本章开始,所有的内容都是十分有价值和意义的.本章主要的内容包括对象字面量.构造函数.数组字面量.正则字面量.基本值类型字面量以及JSON等.在大家的工作和实际应用中也有一定的指导意义. 一.对象字面量 我们直接来先看一下代码: // 开始时定义一个空对象 var dog = {}; // 向dog对象添加一个属性 dog.name = "Benji"; // 现在,向dog对象添加一个方法 dog.getName = function() { return dog.na…
这是字面量和构造函数的最后一篇内容,其中包括了JSON.正则表达式字面量,基本值类型包装器等知识点.也是十分重要的哦. 五.JSON JSON是指JavaScript对象表示以及数据传输格式.它是一种轻量级数据交换格式,且可以很方便地用于多种语言,尤其是在JavaScript中.实际上,对于JSON而言,只是一个数组和对象字面量表示方法的组合: {"name":"value","some":[1,2,3]} JSON和文字对象之间唯一的区别,就是…
上一篇啊,我们聊了聊字面量对象和自定义构造函数.这一篇,我们继续,来聊聊new和数组字面量. 三.强制使用new的模式 要知道,构造函数,只是一个普通的函数,只不过它却是以new的方式调用.如果在调用构造函数时忘记制定new操作符会发生什么?这并不会导致语法或运行时错误,但可能导致逻辑错误或意外的行为发生.发生这类问题是因为您忘记使用new操作符,从而导致结构函数中的this指向了全局对象(在浏览器中,this会指向window). // 构造函数 function Waffle() { thi…
本篇主要讨论了通过字面量以构造对象的方法,比如对象.数组以及正则表达式等字面量的构造方法,同时还讨论了与类似Object()和Array()等内置构造函数相比,为什么基于字面量表示法是更为可取. 对象字面量 JavaScript中并没有类的概念,正如其他动态语言一样,JavaScript中的所有元素均为对象.我们可以把JavaScript中的对象看做是其他语言中的HashTable,即键-值对(key-value pair)哈希表. 在JavaScript中所创建的自定义对象在任何时候都是可变的…
JavaScript的简单类型包括 数字.字符串.布尔值.null值.undefined值. 其他的值都是对象.对象是可变的键控集合.数组.函数.正则表达式都是对象. 对象是属性的容器,属性都是名字和值对.名字可以是包括空字符串在内的全部字符串.值可以是除了undefined之外的任何值. JavaScript中的对象是无类别(class-free)的. JavaScript包括一个原型链特性,允许对象继承另一个对象的属性.正确的使用能减少对象初始化的时间和内存损耗. 对象字面量: var em…
本章主要帮助大家写出高质量的JS代码的方法,模式和习惯,例如:避免使用全局变量,使用单个的var变量声明,缓存for循环的长度变量length等 一.尽量避免使用全局变量 1 每一个js环境都有一个全局对象,通过this可以访问,创建的每一个全局变量都归这个全局对象所有,在浏览器中,这个全局对象this等于window(在其他环境中,this对象不一定是window对象) var sss="sss"; this.sss;//"sss" window.sss;//&q…