JavaScript object 类型
🌙
手机阅读
本文目录结构
Object
Object类型包括,数组、正则等等;
寻找Object
var num=2;
console.dir(num);//number 实例
console.dir(num.__proto__);//Number 类
/*
*
* constructor :Object
*
*
* */
var str="haha";
console.dir(str);//string 实例
console.dir(str.__proto__);//String 类
/*判断是否一致*/
console.log(num.__proto__.__proto__=== str.__proto__.__proto__);//true
//万物皆对象,并不等于只有一个对象类型的;
// Number / String / Object / Boolean
特性
- 定义:一组数据或功能的集合
- 声明
- var o=new Object()//Object后面的()可以省略,但不推荐
- var o={}
//key:value
//1、字面量的创建方式;推荐的方式
var o={
name:"zhu",
say:"hello"
};
console.log(o);//{name: "zhu", say: "hello"}
var oDemo={};
// oDemo.name1=
if(!oDemo.flagVal){
oDemo.flagVal="Test"
}
oDemo.name="bang";
oDemo.say="hahahahahahahha";
console.log(oDemo.flagVal);//Test
console.log(oDemo);//{flagVal: "Test", name: "bang", say: "hahahahahahahha"}
//new
var demo1=new Object();//不推荐的使用方法;
demo1.haha="hahahahahahah";
console.log(demo1);//{haha: "hahahahahahah"}
//jQuery的AJAX;
/*var options={
url:"babababab",
type:"",
date:{}
};
$.ajax(options);*/
属性和方法
let obj = {};
obj[foo] = "foo";
obj[bar] = "bar";
JSON.stringify(obj); // {}
Object.keys(obj); // []
Object.getOwnPropertyNames(obj); // []
Object.getOwnPropertySymbols(obj); // [ foo, bar ]
- constructor:保存用于创建当前对象的函数,构造函数就是Object()
- HasOwnProperty(propertyName) 检测给定输定在当前对象实例中是否存在(而不是实例的原型中)
- isPrototypeOf(object) :检测传入的对象是否是另一个对象的原型(而不是在实例中);
- propertyIsEnumerable(propertyName);检测给定属性是否能用for-in语句每句来枚举;
- toLocaleString() 返回对象的字符串表示,该字符串与执行环境的地区对应;
- toString() 返回对象的字符串表示
- valueOf() 返回对象的字符串,数值或布尔值表示;通常与toString()的值相同;
在ECMAScript中,Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法;方法的具体原理,后面数据类型和原型链中具体说;
BOM/DOM中的对象,都是属于宿主对象,因为他们是由宿主实现提供和定义的,但是ECMAScript不负责定义宿主对象,因此宿主对象可能会也可能不会继承Object;
function Test(opt) {
//bala bala
}
var testVal=Test({a:"",b:""});
//Array;
var a=[1,2,3,4,5,6,7];//var a=[1,2,3,4,5,6,7,] 低版本浏览器,length的;
console.log(a);//编程语言里,index是以0为开始的;
console.log("第一位,a[0]",a[0]);
console.log(a[1]);
console.log(a.length);//7