JS高级——Object.prototype成员
基本概念
| 成员 | 描述 |
|---|---|
Object.prototype.__proto__ |
指向当对象被实例化的时候,用作原型的对象。 |
Object.prototype.hasOwnProperty() |
返回一个布尔值 ,表示某个对象是否含有指定的属性,而且此属性非原型链继承的。 |
Object.prototype.isPrototypeOf() |
返回一个布尔值,表示指定的对象是否在本对象的原型链中。 |
Object.prototype.toString() |
返回对象的字符串表示。 |
Object.prototype.valueOf() |
返回指定对象的原始值。 |
valueOf
<script>
function Person() {
this.valueOf = function () {
return 1;
}
}
var p = new Person();
//在对象参与运算的时候
//1.默认的会先去调用对象的valueOf方法,
//2.如果valueOf获取到的值,无法进行运算 ,就去去调用p的toString方法 最终做的就是字符串拼接的工作
console.log(1 + p);
</script>
toString、toLocaleString
<script>
// toString:转为字符串
// toLocaleString:转为字符串,而且将对象转化成本地格式
var o = {};
console.log(o.toString());//[object Object]
console.log(o.toLocaleString());//[object Object] var now = new Date();
console.log(now.toString());//Mon Jan 22 2018 12:37:32 GMT+0800 (中国标准时间)
console.log(now.toLocaleString());//2018/1/22 下午12:37:32
</script>
其他属性
<script>
function Person() {
this.name = 'qx';
}
//
var p = new Person();
//constructor:指向该原型对象相关联的构造函数
console.log(p.constructor);
//hasOwnProperty:用来判断对象本身(不包含原型)是否拥有某个属性
console.log(p.hasOwnProperty("__proto__"));//false
console.log(p.hasOwnProperty('name'));//true
// propertyIsEnumerable:判断属性是否属于对象本身;判断属性是否可以被遍历
console.log(p.propertyIsEnumerable('name'));//true
</script>
JS高级——Object.prototype成员的更多相关文章
- JS 克隆Object.prototype.Clone
我们知道,在js中,当object作为参数传递到函数中进行处理后,实际上是修改了传入的对象本身(或者说是对象的引用),但很多时候我们并不希望函数去修改我们的这些对象参数,这就需要使用到对象的克隆,我们 ...
- 【js】Object.prototype.hasOwnProperty()
hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性 例如:obj.hasOwnProperty(prop) 1. 所有 Object 的对象都会有 hasOw ...
- Object.prototype的成员介绍
3.Object.prototype的成员介绍 Object.prototype是js中所有的对象的祖宗 Object.prototype中所有的成员都可以被js中所有的对 ...
- JS高级. 03 混入式继承/原型继承/经典继承、拓展内置对象、原型链、创建函数的方式、arguments、eval、静态成员、实例成员、instanceof/是否在同一个原型链
继承:当前对象没有的属性和方法,别人有,拿来给自己用,就是继承 1 混入式继承 var I={ }; var obj = { name: 'jack', age:18, sayGoodbye : fu ...
- js 中调用 Object.prototype.toString()来检测对象的类型
1.使用toString()方法来检测对象类型 可以通过toString() 来获取每个对象的类型.为了每个对象都能通过 Object.prototype.toString() 来检测,需要以 Fun ...
- JS四种判断数据类型的方法:typeof、instanceof、constructor、Object.prototype.toString.call()
1.typeof 1 console.log(typeof ""); //string 2 console.log(typeof 1); //number 3 console.lo ...
- js中[object Object]与object.prototype.toString.call()
最近在用node读取文件中的json数据后,用JSON.parse()转成了json,然后响应数据传给前端,发现输出值object对象时显示[object object],在这里我们来看一下他的具体意 ...
- js & object & prototype & __proto__ & prototype chain
js & object & prototype & proto & prototype chain constructor prototype === instance ...
- js中Object.__proto__===Function.prototype
参考:http://stackoverflow.com/questions/650764/how-does-proto-differ-from-constructor-prototype http:/ ...
随机推荐
- codeforces gym 100357 I (费用流)
题目大意 给出一个或与表达式,每个正变量和反变量最多出现一次,询问是否存在一种方案使得每个或式中有且仅有一个变量的值为1. 解题分析 将每个变量拆成三个点x,y,z. y表示对应的正变量,z表示对应的 ...
- kendo grid 报错:length
其实是:events中的{}Onsave的问题,把events整个注释掉就好了
- [转][MEF插件式开发] 一个简单的例子
偶然在博客园中了解到这种技术,顺便学习了几天. 以下是搜索到一些比较好的博文供参考: MEF核心笔记 <MEF程序设计指南>博文汇总 先上效果图 一.新建解决方案 开始新建一个解决方案Me ...
- 热烈庆祝国产编程语言R++1.8研发成功
R++是专为懒人设计的国产编程语言.支持无操作系统裸奔.编译成机器码.android.cocos2dx绑定.中文编程.闭包.惰性求值.JSON.Lisp的S表达式.内联汇编.伪代码.模板.宏.多重继承 ...
- 前端project师必需知识点
1.HTML 2,CSS 3,JavaScript 4.JQuery 5.JSON 6,HTML DOM 7.AJAX 进阶教程: 1.Bootsrap 2,sea.js 3,node.js 4.An ...
- java-javabean Introspector的应用
Introspector 类为通过工具学习有关受目标 Java Bean 支持的属性.事件和方法的知识提供了一个标准方法. 对于这三种信息,Introspector 将分别分析 bean 的类和超类, ...
- 第14章4节《MonkeyRunner源代码剖析》 HierarchyViewer实现原理-装备ViewServer-port转发
在初始化HierarchyViewer的实例过程中,HierarchyViewer会调用自己的成员方法setupViewServer来把ViewServer装备好,那么我们这里先看下这种方法: 39 ...
- bzoj 4590: [Shoi2015]自动刷题机
好恶心.. 二分上界到100000LL*1000000000LL %_% #include<cstdio> #include<iostream> #include<cs ...
- bzoj3771
http://www.lydsy.com/JudgeOnline/problem.php?id=3771 生成函数... 其实就是多项式乘法...lrj书上有一个通俗的解释... 然后就是这个样子,我 ...
- 使用psutil模块获取电脑运行信息
psutil是python的一个用于获取cpu信息的模块,非常好使,以下附上官方的一些example: CPU-> Examples >>> import psutil > ...