您的位置:首页 > 移动开发 > Objective-C

javascript对象---4 Object函数介绍

2016-11-26 00:00 567 查看
摘要: 创建函数的方式
1.字面方式
2.构造函数方法
3.Object静态方法 Object.create()

一.Object函数:

对象函数, 是由Function实现的,原型链的最终端,是所有对象的父类,在Object原型对象里定义的属性和方法,可以在所有对象里共享。本身提供了一系列可共享的方法

1.1.Object函数的本质:

Object就是用 function实现的特殊的 构造函数 不要当做函数使用。 Object( ) --不要这样用

1.2 使用方法

1. new Object( ); //调用其构造方法

2. 包含的方法 Object . defineProperties() ; //调用其全局的属性和方法。

三。 创建对象的方式 注意对象中 属性由逗号 隔开

二、创建对象的方式

2.1字面方式

对象直接量是由若干名/值对组成的映射表,名 与 值 间用冒号分隔,名/对 间用 逗号分隔。

var obj = {

para1 :1  ,

para2 :2  ,

fun : function(){}

}

对象就是 无序 的名值对
key : 对象的变量名
value :变量实际值,可以为 基本类型 对象类型(包括函数)
var a = {
name :"张三",
age: 18    , //遍历时顺序不定不分,写的先后顺序
}


//fav的值是一个对象,对象里面 包含属性名 ball 值是一个: 对象["篮球","足球"]--数组 数组是一个特殊的对象 下面是一个名/值对

fav :{     //封装类型
ball :["篮球","足球"] ,
travel :["大连","西藏"]
}

对象里定义函数不可以 function acc() 对象中是 名 值 对, 名字是变量名 值任意 基本类型、 对象类型(对象类型包括函数)

sayhello : function(){
alert("hellow")
}

//调动方法
console.log( a.name );
console.log( a.fav.ball );
console.log( a.fav.ball[0] );
a.sayhello();




//如果 alert( a.sayhello) 不会调用函数,会打印出sayhello代码

2.2、创建对象的方式2 --构造函数方法(调用其他构造函数也可以,只是原型链指向不同)

通过new运算符,初始化一个新的对象。 关键字new 后跟随一个函数调用。这个函数 称作构造函数(constructor),构造函数用于初始化一个新的对象

//一下定义函数方法同上面 相同
var b = new Object();        //先new 一个 Object 占用内存空间
b.name = "张三b";           //为b 创建属性赋值
b.age = 18;
b.fav ={ball :["篮球b","足球b"],
travel :["大连b","西藏b"]}
b.sayhello = function(){   //匿名函数
alert("hellob");
}

//调用方式
console.log(b.name);
console.log(b.fav.ball);
console.log(b.fav.ball[0]);
b.sayhello();


2.3、 也可以使用 Object静态方法: ECMAScript5标准,低版本浏览器不兼容

var obj = Object.create({
name :"third",
age :"18"
})
console.log(obj.name);


2.4、 定义一个 function

function Fun(){

}
var fun = new Fun(); //也是创建一个对象,只不过对象的原型链不直接连到Object 而是连接到Fun( )对应的原型对象上。 Fun()的原形链指向Object

三 .对象 访问方式

对于普通变量只需要使用 对象名 点 属性名 直接调用属性名和方法,多层次也是如此。

对于变量名为另一个变量 的值需要使用 [ ] 来调用。

  var obj = Object.create({
name :"third",
age :"18"
})
console.log(obj.name);

var ag = "age";
//现在想通过变量 ag 的值访问 obj中的age

console.log( obj[ag] ); <----->obj.age


四. 原型链的特点

Obj 变量 :new Object ---> Object.prototype

Object构造函数 : new Function--->Function . prototype---->Object . prototype

Function构造函数 : new Function --->Function . prototype --->Object . prototype

五.原形链特点总结

原形链的终点都是 Object.prototype, 因此所有对象都具有 Object.prototype 扩展的属性及函数。

Object.prototype对象的__proto__指针为null , 终结原型链。

Function是自省的,因此prototype与__proto__都指向 Function.prototype对象。

六.扩展Object全局变量和方法

Object.kuozhan =  function(){
alert("扩展方法");
}
Object.kuozhan();  //Object的全局变量和方法


七. Object的prototype扩展方法,所有对象都可以调用

Object.prototype.prokuozhan = function(){
alert("prototype 扩展方法")
}

var a = {}; //定义一个空对象
a.prokuozhan();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: