博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript对象---4 Object函数介绍
阅读量:5821 次
发布时间:2019-06-18

本文共 3081 字,大约阅读时间需要 10 分钟。

hot3.png

一.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();

 

转载于:https://my.oschina.net/u/2991733/blog/794630

你可能感兴趣的文章
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
ntpdate时间同步
查看>>