我们可以通过构造器函数(简称构造函数)来创建对象: function Her(){ this.child = 'Jon'; } 为了使用该函数来创建对象,我们需要使用new操作符,例如: var she = new Hew(); she.child; // Jon 使用构造函数创建对象的好处就是她可以接受一些参数,下面我们就来修改一下上面的例子: function Her(name){ this.name = name; this.child = 'Jon; this.whoAreYou = f…
 我们不要去纠结神马是内建对象,神马是內建构造器.到后来你们便会发现其实她们都是对象. Array()是一个构建数组的內建构造器函数: var arr = new Array(); 与下面的是等效的: var arr = []; //数组文本表识法 无论数组是以神马方式创建的,我们都可以照常向里面添加元素. arr[0] = 1; arr[1] = 2; console.log(arr) // [1, 2] 当我们使用构造器函数Array()创建数组时,也可以通过传值的方式为其添加元素: var…
传递对象 当我们拷贝某个对象或者将对象传递给某个函数时,往往传递的都是该对象的引用.因此我们在该对象的引用上做任何改动,实际上都会影响到引用的原对象. var she = {num:1}; var her = she; her.num; her.num = 100; she.num; 同样的将对象传递给函数也是一样的: var she = {num:1}; var her = function(o){o.num=100}; her(she); she.num = 100; 比较对象 当我们进行对…
除了使用new操作符调用构造函数以外,我们也可以抛开new操作符,只用一般函数来创建对象,这样就能执行某些预备工作,并已对象为返回值的函数.. function her(){ return { name : 'Jon' }; } 然后我们调用her()来生成对象: var a = her(); a.name; // Jonconsole.log(a.constructor);// function Object(){} 实际上构造函数也是可以返回对象的,只不过this的值使用上将会有所不同. f…
与其他对象相同的是,函数对象中也有一个叫做constructor的属性,其引用就是Function()这个构造函数. function her(a){ return a; } console.log(a.constuctor); //function her(a){ // return a; //} 另外函数也有一个length属性,用来记录该函数声明时的参数的数量. function her(a,b, c){ return a+b+c; } console.log(her.length); p…
在javascript中,每个函数都具有call()和apply()两个方法,您可以用她们来触发函数,并指定相关的调用参数. 此外,这两个方法还有另一个功能,就是她可以让一个对象去‘借用‘另一个对象的方法,并为己用.这也是一种简单的代码重用. function her = { name : 'Anna', say:function(a){ return 'Hello'+a+'I am'+this.name+'!' } } 这样一来我们就能调用her对象的say方法. her.say(Jon);…
var a = new Boolean() 我们要明白一点在这里的b是一个对象而不是一个基本数据类型的布尔值.如果想将b转化成基本数据类型的布尔值,我们可以调用她的valueof()方法(继承自Object对象): var a = new Boolean(); console.log(typeof a); // Object; console.log(typeof a.valueof()); // Boolean; 总而言之,用Boolean()创建的函数没有多少实用性,因为她没有提供来自父级对…
ES5引入了Getter和Setter Getter和Setter允许定义对象访问器 JavaScript Getter(get关键字):获取对象属性 <script> var person = { name: "lisi", age: 12, language: "chi", get lang() { return this.language; } }; document.getElementById("demo").innerHT…
一.创建对象 1.创建空对象 方式一: var o ={};o; //Object {} typeof(o); //"object" 方式二: var o=new Object();o;//Object {} typeof(o);//"object" 2.创建非空对象 在 javascript 中创建对象有两种方式:对象文本标记法.构造器函数定义对象: 方式一:对象文本标记法: 先上例子: var hero= { name:'小明', Sex:'男', say: f…
今天,我们要讲的是在 JavaScript 中使用构造器函数(construcor function)模拟类. 构造器函数简介 你可以使用 ES6 的 class 关键字来实现类,不过我建议你使用传统的构造器函数来模拟类,因为这样可以给人一种你是个 JavaScript 老手的错觉,哈哈! 什么是构造器函数?构造器函数是编写对象的方法之一.一般情况下,你可以这样编写一个对象: var obj = { a:1, b:2 }; 但也可以使用构造器函数来编写对象: function Obj(a, b)…