1) 如何创建对象: 1. 使用constructor,例如: var obj = new Object() // var 可以省略 var obj = new Date() 2. 使用对象字面值(object literals),例如: 程序代码 var obj = "123" // 创建一个String对象 var obj = /^abc$/ //创建一个RegExp对象 更加复杂的情况是,我们可以直接生成一个自定义的只有属性的对象: 程序代码 var obj = { name:"killercat", home:"www.i170.com/user/killercat" } document.write(obj.name+"<br />") document.write(obj.home) 结果: killercat www.i170.com/user/killercat 2) JavaScript中的属性: str = "www.i170.com/user/killercat" // str 一个字符串对象的引用 document.write(str.length) 通过对象的引用加上"."再加上属性名,可以访问到这个属性,也可以修改这个属性,甚至是添加一个属性,比如: var obj = new Object() obj.name = "killercat" // 为对象直接添加一个属性 document.write(obj.name) // 访问对象的属性 obj.name = "kcat" // 修改对象的属性 document.write(obj.name) 枚举属性值: 使用 for ... in 语句可以枚举属性(具体来说就是枚举属性名),前面已经提到过,比如 for(ele in window){ document.write(ele+"<br />") } 如何得到属性值? obj = new Object() obj.p1 = "a" obj.p2 = "b" obj.p3 = "c" for(ele in obj) document.write(obj.ele) // 这是新手可能犯的错误,obj.ele 的值是undefined 应该这样访问属性值: document.write(eval("obj."+ele)) 未定义的属性: obj = new Object() document.write(obj.name) 结果是:undefined 删除属性: obj = new Object() obj.name = "killercat" delete obj.name document.write(obj.name) 结果是:undefined 理解属性: 我们知道在Java,c++中,属性要么属于某个类(类属性或说是静态属性),要么属于对象,也就是说,同一个类的对象,一定有一样的属性,但是JavaScript不一样,同样是Object的对象,却可以有不同的属性。除了这类的属性,JavaScript中还有静态的属性(变量)。 3) Constructor 源于某些未知原因,有些人似乎不愿意在JavaScript提到classes这个词,取代的是"对象的类型(object types)",甚至有些人直接叫函数,于是可以看见这样的说法:“我们通过预先定义好的函数,产生了一个对象”。本文使用类,这个名词。 JavaScript 定义方法的方式和定义类的方式一模一样: function User(name,sex){ // 定义了类 User this.name = name; this.sex = sex; } user = new User("kc","man") document.write(user.name+"<br />"+user.sex) contructor的作用就是在初始化属性(变量)
推荐阅读
Javascript入门学习第八篇 js dom节点属性说明第1/2页
今天我们讲DOM属性。 前面其实我们已经碰过DOM属性了。 比如: nodeName,nodeType…..今天我们详细的讲解下。 1,nodeName属性 : 节点的名字。 如果节点是元素节点,那么返回这个元素的名字。此时,相当于tagN>>>详细阅读
本文标题:不错的JavaScript面向对象的简单入门介绍第1/2页
地址:http://www.17bianji.com/kaifa2/JS/29574.html
1/2 1