js--11对象的创建方式
2024-10-01 14:28:44
<html> <head>
<title>Object</title>
</head>
<body> <script type="text/javascript">
//6大基本类型:undefined,null, string,boolean,number,对象类型(js内置的对象如Number、数组,宿主环境如浏览器中的window对象document对象,自己创建的)
//自己创建的对象,第一种,var形式创建对象:
var p = {
name:"cj",//属性的名字是name,对象中属性的名字可以不加引号,逗号分割,
work:function () { //方法
console.log("working...");
},
_age:18, //下划线表示私有
get age(){//不是方法的定义,没有冒号
return this._age;
},
set age(val){//形参没有类型
if(val <0 || val >150){
throw new Error("invalid value");
}else{
this._age = val;
}
},
address:{
home:"jiating",
office:"office" } };
console.log(p.name);
console.log(p._age);
console.log(p['age']);//属性可以用点访问,也可以用中括号访问
console.log(p.address.home);
var r = p && p.address && p.address.home //前面p和p.address都不为空才执行最后面
console.log(r);//jiating //get,set writable ,enuerable,configurable,value
//第二种,通过object函数创建对象,
var o = new Object();
o.name = 'ss';
o["abc"] = "abc"; //第三种:defineProperties,definePropertie Object.defineProperties(p,{//给p对象加属性
salary:{
value:1000,
writable:false
},
gender:{
value:true
},
height:{
get:function(){
return 180
},
set:function(val){
console.log(val);
}
}
});
console.log(p.salary);//
console.log(p.gender);//true
console.log(p.height);//
p.height = 324;
</script>
</body> </html>
for(sx in p){//遍历对象的所有属性
console(sx);
console(p.sx);
} console("name" in p);//name属性是否在p中,true
console(p.hasOwnProperty("name"));//p是否有name属性
delete p.name;//删除p的name属性,有些属性是删除不了的,如tostring() //writeable:属性是否可写
//enuerable:属性在遍历的时候是否出现
//configurable:属性是否可以删除,是否可以改变他的可写等特性
Object.getOwnPropertyDescriptor(p,"address");//得到p对象的address属性的特性
最新文章
- ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码
- 微信公众平台SDK
- HDU 3374 String Problem (KMP+最大最小表示)
- UIView用户事件响应
- Oracle 11g RAC OCR 与 db_unique_name 配置关系 说明
- asp脱离源代码管理
- javamelody 使用
- HDU 1495 非常可乐(数论,BFS)
- SQL 如何在自增列插入指定数据
- springcloud Zuul学习笔记
- cocos2d-x学习记录5——CCTransition场景过渡
- tp5+layui 实现上传大文件
- javascript unicode与GBK2312(中文)编码转换示例
- HashMap(JDK1.9)详解
- C++多线程环境下注意共享资源的释放顺序
- Postgresql 9.6 搭建 异步流复制 和 同步流复制 详细教程
- ACCESS与MSSQL比较:SQL语句关于时间格式使用的注意点
- xlwings: Write Excel macro using python instead of VBA
- Java异常处理介绍(Java知识的重点内容)
- java map转json servlet response