JavaScript
## 定义
-
轻量级的脚本语言 ---- 不具备开发操作系统的能力,用俩飙血控制其他大型应用程序的脚本。
-
嵌入式语言----适合嵌入更大行的应用程序环境
Object对象
1.概述
-
JavaScript原生提供Object对象,JavaScript的其他对象都继承自Object对象,即那些对象都是Object的实例。
-
Object对象原生方法分成两类,
Object本身的方法
和Object的实例方法
凡是定义在Objec.prototype上面的属性和方法,将被所有实例对象共享
-
Object本身的方法
------- 就是直接定义在Object对象的方法// print方法直接定义在Object对象 Object.print = function(o){ console.log(o); }
-
Object实例方法
----- 定义在Object原型对象Object.prototype上的方法,可以被Object实例直接使用//Object.prototype定义了一个print方法,然后生成一个Object的实例obj。obj直接继承了Object.prototype的属性和方法,可以直接使用obj.print调用print方法。也就是说,obj对象的print方法实质上是调用Object.prototype.print方法。 Object.prototype.print = function(){ console.log(this); } var obj = new Object(); obj.print();
-
Object()
-
Object 本身是一个函数,可以当作工具方法使用,将任意值转为对象,这个方法常用于保证某个值一定是对象。
-
如果参数为空(为undefined 或者null),Object( )返回一个空对象。
-
// 判断一个变量是否为对象的函数 function isObject(value){ return value === Object(value); } isObject([]) //true isObject(true) //false
Object构造函数
-
Object可以当作构造函数使用-----
new命令
-
Object构造函数主要通过它来生成新对象
var obj = new Object();
通过
var obj = new Object()
的写法生成新对象,与字面量的写法var obj = {}
是等价的。 -
Object
构造函数可以接受一个参数,如果这个参数是一个对象,就直接返回这个对象;如果是一个原始类型的值,就返回该值对应的包装对象。var o1 = {a:1}; var o2 = new Object(o1); o1 ===o2 // true var obj = new Object(123); obj instanceof Number // true
Object(value)
和new Object(value)
两者的语义不同,Object(value)
表示将value
转成一个对象,new Object(value)
表示新生成一个对象,值是value。