js 中对象的特性
用Object.definedproperties 一次性添加或修改多个属性的特性和值。
<script>
var obj ={}
Object.defineProperties(obj,{
x:{value:1,writalbe:true,configurable:true,enumerable:true},
y:{value:2,configurable:true}
})
console.log(obj.x) //=>1
console.log(obj.y) //=>2
console.log(Object.getOwnPropertyDescriptor(obj,"x"))//得到属性的描述 value:1 writable:true configurable:true, enumerable:true
console.log(Object.getOwnPropertyDescriptor(obj,"y")) // value:2 writable:false configurable:true, enumerable:false
obj.z=3 //这个z是通过对象字面量的方式创建的
console.log(Object.getOwnPropertyDescriptor(obj,"z"))//所以所有的属性特性都为true
</script>
检测对象是否是另一个对象的原型(或者处于原型链中)
<script>
var obj={
} //此处创建了一个空对象
var obj1 =Object.create(obj) //用object.create创建了一个新对象,把obj作为obj1的原型
console.log(obj.isPrototypeOf(obj1)) //=> true 此时返回值就true,因obj是obj1的原型
console.log(Object.prototype.isPrototypeOf(obj))//=>true 因为object.prototype是顶级对象,是对象原型上的原型
console.log(Object.prototype.isPrototypeOf(obj1))//=>true 也是对象上的原型
</script>
对象类class是一个标识对象类型的字符串
ECMAscript3和ECMAscript5都没有定义此方法,可以通过顶级对象的toString()方法
js的内建对象都带有toSting方法,所以要用一个CALL回调
代码如下,对何标识对象类型的字符串:
<script>
function classof(obj){
if(obj === null){
return null
}
if(obj === undefined){
return undefined
}
return Object.prototype.toString.call(obj).slice(8,-1)
}
var x = null; //=>null
var x = undefined; //=> undefined
var x =true //=> boolean
var x = 1234; //=> number
var x = "this is" //=> string
var x = new Array() //=> arry
var x = new Date() //=> date
console.log(classof(x))
</script>
js 中对象的特性的更多相关文章
- js 中对象属性特性的描述
如何自定义属性的特性? 用对象.属性的特性和自定义的属性的特性有什么区别? 它的四大特性 writable enumerable configable 有什么区别? 先预习一个用对象.属性 ...
- js 中对象属性特性2
对象的存储描述: get 和 set 方法 <script> var obj ={ get age(){ return 22 }, set age(value){ console. ...
- js中对象的一些特性,JSON,scroll家族
一.js中对象的一些特性 对象的动态特性 1.当对象有这个属性时,会对属性的值重写 2.当对象没有这个属性时,会为对象创建一个新属性,并赋值 获得对象的属性的方式 为元素设置DOM0级事件 二.JSO ...
- js中迭代元素特性与DOM中的DocumentFragment类型 笔记
JS中迭代元素特性 在需要将DOM结构序列化为XML或者HTML字符串时,多数都会涉及遍历元素的特性,这个时候attributes属性就可以派上用场. 以下代码展示了如何迭代元素的每一个特性,然后将他 ...
- [转]JS中对象与字符串的互相转换
原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...
- JS中对象与字符串的互相转换
在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...
- js中对象转化成字符串、数字或布尔值的转化规则
js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...
- 【转载】js中对象的使用
原文链接:http://www.jb51.net/article/90256.htm[侵删] 简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一 ...
- js中对象使用
简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; ...
随机推荐
- 如何将Android默认的Camra程序导入到eclipse中
由于工作需要将camera源码导入到Eclipse中,找了很多的方法,现将自己的整理发出来.... 由于开发的要求,需要将Android默认的Camra程序导入到eclipse中,进行修改和再开发. ...
- 如何减少不能重现的Bug
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何减少不能重现的Bug.
- 单位内部DNS架设及域名解析服务
越来越多的企业将企业内部局域网通过光缆.交换机等高速互连设备连接起来,形成较大规模的中型网络,网络上的主机和用户也随之日渐增多.作为 Internet的缩影,企业内部网上的各类服务器(如WWW服务器. ...
- SMB带宽限制
1.安装SMB带宽限制功能 Add-WindowsFeature FS-SMBBW 2.通过PowerShell命令限制SMB带宽 #限制非Hyper-V over SMB or Live Migra ...
- 获取WINDOWS特殊文件夹
const// registry entries for special paths are kept in : REGSTR_PATH_SPECIAL_FOLDERS = REGSTR_PAT ...
- 遍历map的四方方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- .ssh 文件夹权限设置问题
.ssh 文件夹权限 问题 今天遇到了 关于.ssh 文件夹夹 设置什么权限合适问题 :答案是 700 chmod 700 .ssh
- [AngularJS + Webpack] Using Webpack for angularjs
1. Install webpack & angular: npm install webpack angular 2. Create webpack.config.js file: modu ...
- 处理 eclipse 导入报错 Invalid project description,问题
有时候在添加工程时,会出现如图所示的错误信息, ,提示显示将要添加的工程已经存在,但是在工作空间里却找不到,这个时候,要做就是, 在导入的时候选择General->Existing Projec ...
- HTML5 PC、Mobile调用摄像头(navigator.getUserMedia)
废话少说,先贴上代码 html: <div id="main" class="masthead"> <div id="face_sc ...