ECMAScript5之Object】的更多相关文章

在ECMAScript5中对Object新增的些方法,以前没注意的同志们,嘻嘻,下面我们再一起来边看边学. 1.Object之create Create单词意为创造嘛,作为Object的静态方法,不言而喻那当然是创建对象呗. 谁的对象呢? 当然不是我的... 好吧,Object.create(prototype,descriptors)是创建一个具有指定原型且可选择性地包含指定属性的对象并返回. 纳尼,什么意思? 我们一起demo下呗. <!DOCTYPE html> <head>…
随着IE的逐步追赶,目前到IE11已经能够很好的支持ECMAScript5标准了,其他的现代浏览器像firefox,chrome,opera就更不用说了. 再加上nodejs使得javascript在后台开发中得到施展的舞台,这很自然的激发了我对ECMAScript5相关的特性的求知欲望. 以此展开,写一个ECMAScript5新特性的学习笔记. 先来看看Object Object.create(proto[, propertiesObject]) create方法通过指定的原型对象(proto…
第三部分继续... Object.getOwnPropertyDescriptor(obj, prop) 获取一个对象的属性描述符 根据"Own"这个词我们可以猜到,prop只能是obj的“直接”属性,prototype链上的无效 来几个直观的例子,以作说明: var person = {}, nameDesc, // name descriptor titleDesc, // title descriptor ageDesc; // age descriptor person.nam…
继续第二部分 Object.freeze(obj) 看字面意思就是“把一个对象冻结”. 下面我们来看个简单的例子以作说明: // a person instance var person = { name: 'Andrew', job: 'sales manager' }; // before freeze // existing properties maybe be changed or removed, new properties may be added person.name = '…
之前两篇博客 ECMAScript5 Object的新属性方法,ECMAScript5 Array新增方法,分别介绍了ECMAScript5对Object和Array的拓展,这两个对象最常用,而且改动比较多,剩下的对象拓展比较少 String.prototype.trim() 这是字符串的一个实例方法,用于去除字符串首尾的空白符(不只是空格,还有tab.垂直制表符啊神马的)和换行符,终于不用自己用正则表达式写了,这个方法返回trim后结果,不改变原字符串值 var s = ' 123 \n';…
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数据属性和访问器属性. 1.数据属性又包含 Configurable //表示能否通过delete删除,默认为true: Enumerable //表示能否通过for-in循环返回属性,默认为true; Writable  //表示能否修改属性的值,默认为true; Value            …
JS部分 一,  词法结构 区分大小 注意://单行  /*多行注释*/ 字面量(直接量literal) 12 // 数字 5.8//小数 "hello" 'hello' true /js/gi  //正则 null    //空 {x:1,y:2} [1,2,3,4] 标示符(变量)和保留字 分号可以省略但是可能会产生问题,js会自动补 var y = x+f (a+b).toString() 等价于 var y = x+f(a+b).toString(); 二.类型.值和变量 1.…
这周也是拿到了同程的offer,从此走上了前端之路!感谢我的贵人们.再次纪念一下~! 第11章 不是你的对象不要动 11.1 什么是你的 你的对象:当你的代码创建了这些对象或者你有职责维护其他人的代码的对象时,你就拥有这些对象. 不是你的对象: 原生对象(Object.Array等等) DOM对象(例如:Document) 浏览器对象模型(BOM)对象(例如: window) 类库的对象 11.2.1 不覆盖方法 JavaScript这门语言也存在着糟粕,那就是覆盖一个已经存在的方法是难以置信的…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数.…
以下内容来自<JavaScript高级程序设计>第三版 我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法.使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法. function Person(){ } Person.prototype.name='lisi'; Person.prototype.age=23; Person.prototype.job='Software eng…
之前在看<Javascript 高级程序设计>一书中遇到过getter和setter,但因当时难于理解,且觉得用处较小,没有细看,今日突然遇到了一种使用get&set读写对象属性的方式. //字面量创建对象 var p={ //对象的成员:属性&方法 name:"cj", work:function(){ console.log("working...."); }, _age:18, //一般常用下划线开头,表示该属性只能有对象的方法进行…
在JavaScript中对象是一个无序属性的集合,其属性可以包含基本值.对象或者函数. 对象最简单的创建方式 JavaScript中创建对象最简单的方式就是创建一个Object对象的实例,然后再添加属性和方法. var person = new Object(); person.name = 'jenemy'; person.age = 24; person.getName = function() { return this.name; } 另一种写法是使用对象字面量语法,这种方式看起来更加简…
1. 面向对象设计 1.1 理解对象 1.1.1 属性类型 (1). 数据属性:相当于对象的字段,包含一个数据值的位置,在这个位置可以读取和写入值.数据属性中有4个描述其行为的特性: l [[Configurable]]:表示能否通过delete删除属性从而重新定义属性 l [[Enumerable]]:表示是否通过for-in循环返回属性 l [[Writable]]:表示能否修改属性的值 l [[Value]]:包含这个属性的数据值 要修改属性默认的特性,必须使用ECMAScript5的Ob…
看<JavaScript高级程序设计>做的一些笔记 ECMAScript只支持实现继承,不支持接口继承(因为函数没有签名) 原型链(实现继承的主要方法): function SuperType(){ this.property = true; } SuperType.prototype.getSuperValue = function(){ return this.property; }; function SubType(){ this.subproperty = false; } //继承…
目录目录    2js部分一.词法结构    1.区分大小写    2.注意   // 单行      /*  多行注释  */    3.字面量(直接量  literal)        12  //数字        5.8 // 小数        "hello"          'hello'        true        /js/gi  //正则        null    //空        {x:1,y:2}        [1,2,3,4]    4.标示…
一.Array对象 1.两个数组能用< > == ===做比较吗? 答:数组可以用> <进行矩阵比较,比如a=[1,2,3] b=[1,2,4],那么a<b,如果a的数值长度增加,比如a=[1,2,3,1],那么结果还是a<b.而如果数组的长短和数据项大小都相同,那么ab怎么比较都是false. 所以我们可以知道数组的比较规则:从索引0开始,只要二者比较出结果,即停止比较,返回比较结果. 2.两个空数组相等吗?[]==[]? 答:不相等,等同于两个空对象比较,有法比较吗…
本人很少写博客,所以文笔很不好,如果解释的不够清楚的,欢迎点评 1.+号(一元加操作符): 如果放在数值前的话,对数值不会产生任何影响,不过放在其他的数据类型前面的话,就等于调用number()将他转为数字,布尔值false被转为0,ture被转为1 如, +"1.1" =  1.1 ,对象则会调用它的valueof()或者toString()函数,然后再转为数值 2.parseInt:可以用它来指定数据的类型,如 parseInt("12", 8) // 10 第…
总结的文章略长,慎点. 知识点预热 引用类型:引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起.在其他面向对象语言中被称为类,虽然ECMAScript从技术上讲也是一门面向对象语言,但它不具备传统面向对象语言所支持的类和接口等基本结构而是通过别的形式实现类模板和继承.引用类型描述的是一类对象所具有的属性和方法. 对象:对象是某个特定引用的实例,新对象是使用 new 操作符后跟一个构造函数来创建的.实例对象其实就是一组特定数据和…
一.词法结构 1.js里面区分大小写 2.注释分为两类:  // 单行注释    /*多行注释*/ 3.字面量(直接量 literal) 12                               //数字 number "hello"   'hello'             //字符串 string true  false                   //布尔类型 null                            //空类型 /js/gi      …
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(六) 先来解析下标题——对象和继承~ 一.对象篇 ECMA-262把对象的定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数."=.=用自己的话理解就是:对象就是散列表,无非就是一组名值对,其中的值可以是数据或是函数.ECMAScript中有两种属性:数据属性和访问器属性.而对于描述属性的基本特征是为了实现javascript引擎用的,在javascript中不能直…
总结 js部分 一 语法结构 1 区分大小写 2注意 //单行  /*多行注释*/ 3子面量(直接量 literal) 12//数字 5.8//小数 "hello"字符串 true /is/gi    //正规 null  //kong {x:1, y:2} {1,2,3,4} 4 标示符(变量)和保留字 5.分号可以省略但是可能会产生问题 js会自动不全 var y = x+f (a+b)toString() 等价于      var y = x+f(a+b).toString();…
<script type="text/javascript"> //1.理解原型对象 //2.原型与in操作符 //3.更简单的原型语法 //4.原型的动态性 //5.原生对象原型 //6.原型对象的问题 //1.无论什么时候,只要创建了一个函数,就会根据一组特定的规则,为该函数创建一个prototype属性,该属性指向函数的原型对象 //在默认情况下,所有的原型对象都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的…
<script type="text/javascript"> //ECMA-262把对象定义为:“无序属性的 集合,其属性可以包含基本值.对象或者函数” //理解对象,最简单的方式就是通过创建一个Object的实例,然后为它添加属性和方法 var person = new Object(); person.name = "Xulei"; person.age = "23"; person.job = "前端工程师"…
原型与in操作符 有两种方式使用in操作符:单独使用和在for-in循环中使用. 在单独使用时,in操作符会遍历实例公开(可枚举)的属性,如果找到该指定属性则返回true,无论该指定属性是存在与实例中还是原型中.直接上代码: ```javascript function Animal(){ } Animal.prototype.name = "animal" var tom = new Animal(); tom.age = 22; console.log("name&quo…
1.对象 使用Object创建对象 var p = new Object(); p.name = 'jason'; p.sayName = function(){ alert(this.name); } 使用字面量的方式创建对象 var p = { name:'jason', sayName:function(){ alert(this.name); } } 2.属性类型 ECMAScript中有两种属性:数据属性,访问属性 数据属性:是一个包含数据值的位置,有4个描述其行为的特性       …
JavaScript对象可以从一个称为原型的对象继承属性,这种"原型式继承"(prototypal inheritance)是JavaScript的核心特征.除了字符串.数字.true.false.null和undefined之外,JavaScript中的值都是对象.对象时可变的,可以增加或者删除对象的属性,通过引用而非值来操作对象. 对象的常见用法是create对象以及设置(set), 查找(query), 删除(delete), 检测(test), 枚举(enumerate)对象的…
面向对象:Object Oriented(OO) 一切事物皆对象,通过面向对象的方式,将显示世界的事物抽象成对象,将显示世界中的关系抽象成类.继承,帮助人们实现对显示世界的抽象与数字建模:--百科 一.基础知识点: 1.面对对象的语言都有一个标志就是都有类的概念,可以通过类创建多个具有相同属性和方法的对象: 2.ECMA-262中没有类的概念 3.ECMA-262中定义为:"无序属性的集合,其属性可以包含基本的属性值.对象或者函数" 4.理解对象:创建对象 //创建对象最简单的方式就是…
第六章 面向对象的程序设计 一.理解对象 1.属性类型: ECMAScript中有两种属性:数据属性和访问器属性. (1)数据属性: 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性有4个可以描述其行为的特性: [[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. [[Enumerable]]:表示能否通过for-in循环返回属性.像前面例子中那样直接在对象上定义的属性,它们的这个特性默认值为t…
面向对象程序设计1.属性类型.定义多属性.读取属性特性对象的属性在创建时都带有一些特征值,JavaScript通过这些特征值来定义它们的行为.这些特性是为了实现JavaScript引擎用的,因此不能直接访问它们.ECMAScript中有两种属性:数据属性和访问器属性.1)数据属性数据属性包含一个数据值的位置,在这个位置可以读取和写入值.数据属性有4个描述其行为的特征.1.[[Configurable]]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访…
写在前面的话:这篇博客不适合对面向对象一无所知的人,如果你连_proto_.prototype...都不是很了解的话,建议还是先去了解一下JavaScript面向对象的基础知识,毕竟胖子不是一口吃成的.博文有点长,如果能仔细看懂每一句话(毕竟都是<高程3>的原话),收获不容小觑. 我们都知道面向对象语言的三大特征:继承.封装.多态,但JavaScript不是真正的面向对象,它只是基于面向对象,所以会有自己独特的地方.这里就说说JavaScript的继承是如何实现的. 学习过Java和c++的都…