Javascript基础知识盲点总结——对象

一、定义对象的基本格式:

var hero = {
breed: ‘Turtle’,
occupation: ’Ninja’,
talk: function(){
    alert(“A!!”);
    }
author: {
    firstname: ‘Martin’,
    lastname: ‘Lu’
   }
}

属性名加不加引号都可以,但是当属性名有保留字或特殊字符(空格等)时,需要加引号

二、对对象属性的操作

可以随时为对象添加/删除属性或者方法:

var hero = {};
hero.breed = ‘turtle’;
hero.name = ‘Alice’;
hero.sayName = function(){ return hero.name; }

在一个对象中,this指向的就是这个对象,比如如下调用方法:

var hero = {
name: ‘Martin’,
sayName: function(){
    return this.name;
}
}
hero.sayName();

三、使用构造器函数来创建对象

可以在创建对象时接受一些参数,使用new关键字创建对象

function Hero(name){
this.name = name;
this.occupation = ‘Ninja’;
this.whoAreYou = function(){
    return “I am” + this.name +this.occupation;
}
}
var hero = new Hero(‘Martin’);

四、构造器属性

创建一个对象时,该对象都会自动生成构造器属性,它指向用于创建该对象的构造器函数的引用。

比如hero.constructor,返回的就是Hero(name)

可以利用该属性创建另一个新对象,示例如下:

var hero1 = new hero.constructor(‘Martin’);

注意上面的代码中即使hero对象之前没有被创建,也可以用它以这种方法创建新对象

如果对象是通过文本标识法创建的,则是由内建函数构造器Object()创建的,如下:

var o = {};

o.constructor;

>>>Object()

typeof o.constructor;

>>>”function”

五、使用返回对象的函数创建对象

可以使用返回对象的函数创建对象:

function factory(name){
return {
    name: name;
}
}
var o = factory(“Martin”);
o.name;   //返回Martin
o.constructot;   //返回Object()

这种返回对象的函数用new来创建对象时会发生问题:new创建出来的(由构造器返回的)对象不再是factory对象而是其中包含name属性的对象

时间: 2024-10-15 10:00:23

Javascript基础知识盲点总结——对象的相关文章

Javascript基础知识盲点总结——继承

原性链继承方法中,javascript是通过另一个类的实例进行继承的(实际是用一个构造器函数的实体去覆盖另一个对象的原型).如下代码: TwoDShape.prototype = new Shape(); Triangle.prototype = new TwoDShape(); 需要直接用new Shape()构造一个实体,然后才能通过该实体的属性完成相关的继承工作,而不是直接继承自Shape()构造器. 这中方法也确保了对Shape()进行任何修改都不会影响TwoDShape(),因为后者继

Javascript基础知识盲点总结——数据类型和数组

一.javascript总的基本类型 1.javascript中的基本类型共有五种:数字.字符串.布尔值.undefined.null 其中null和undefined最大的区别在于,被赋予null的变量通常被认为是已经定义了的. 2.除了以上五种基本类型外,其他的数据类型都属于对象. 二.利用typeof方法查看数据类型 在javascript中可以通过typeof方法来查看某个变量或值得数据类型.该方法会返回一个代表数据类型的字符串,可能返回的值包括:number,string, boole

Javascript基础知识盲点总结——函数

一.函数中的arguments对象 每个函数内部都有一个arguments,它能返回函数所接受的所有参数 注意:argumens接收的是实参 如下是利一个利用arguments特性编写的求和函数: function sumOnSteroids(){ var I, res = 0; var number_of_params = arguments.length; for(I = 0; I < number_of_params; i++){ res += arguments[i]; } return

Javascript基础知识5

不要把相等运算符(==)与赋值运算符(=)搞混. 以&&运算符隔开的两个条件中的前者为错,则不会检测第二个条件的真假.利用这一点,可以提高脚本的速度. 使用带switch的多个条件 if(button=="next") window.location = "next.html"; else if(button=="previous") window.location = "pre.html"; else if(

javascript 基础知识

javascript 基础知识编程规范注释 //驼峰对象化编程 数据类型字符串.数字.布尔.数组.对象.Null.Undefined定义 var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object; 字符串 var word = "Hello World!"; 数字 var x1 = 34.00; //使用小数点来写 var x2 =

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

(1)JavaScript基础知识

Javascript基础知识 1.如何使用JavaScript (1).通过<script></script>中直接编写 (2).通过<script src='目标文档的URL'></script>链接外部的Js文件 ① <script  src="URL" type="text/javascript" charset="utf-8"></script> (3).作为某个元素

javascript 基础知识1 数据类型

首先javascript是一种具有面向对象能力的,解释型程序设计语言. js对大小写敏感,一定要采取一致的字符大小写形式,在js中的结束分号(:)是可选的,为了避免JS语句错误,我们还是要注意添加,养成良好的编写习惯. 下面看看数据类型和值. JS有7种数据类型:字符串.数字.布尔.数组.对象.Null.Undefined 字符串类型:由Unicode字符,数字,标点符号组成的序列,可以为多个字符,也可以为0个字符. 1 <script> 2 // var用于声明一个变量 3 var stri

javascript基础知识拾遗

1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console.log(0||true); //true console.log(''||true); //true console.log(false||true); //true console.log(null||true); //true console.log(NaN||true); //true co