//对象直接量,创建对象最简单的方式是在js里使用对象直接量var book = {"main title": "js", //属性里有空格,要用引号"s-t": "the microsoft", //有连字符也要用引号"for": "all start", //keyword也要用引号x: 2,author: { fistname: "jiangfan" }};alert(book.x);//new运算符创建并初始化一个新对象,关键字new后跟随一个函数调用。这里的函数成为构造函数(constructor),//构造函数用以初始化一个新创建的对象。var o = new Object(); //创建一个空对象,和{}一样var a = new Array(); //创建一个空数组,和[]一样var d = new Date(); //创建一个表示当前时间的Date对象var r = new RegExp("js"); //创建一个可以进行模式匹配的EegExp对象//原型介绍:每一个js对象(null除外)都和另一个对象关联。“另一个”对象就是原型,每一个对象都从原型继承属性//所以通过对象直接量创建的对象都具有同一个原型对象,可以通过Object.prototype获得对原型对象的引用。//通过new和构造函数调用创建的对象的原型就是构造函数的prototype属性的值。所以,同使用{}创建对象一样,通过new Object()//创建的对象也继承Object.prototype。new Array()创建的对象的原型是Array.prototype,new Date()创建的对象原型是Date.prototype.//本例完成:通过原型继承创建一个新对象function inherit(p) {if (p == null)throw TypeError();if (Object.create)return Object.create(p);var t = typeof p;if (t !== "object" && t !== "function")throw TypeError();function f() { };f.prototype = p;return new f();}var obj = {fa: "jf",ofun: function (a1, a2) {alert(a1 + a2);},applys: function (arg) {alert(arg[0] + arg[1]);}}, tempobj;tempobj = {};obj.ofun.call(tempobj, "hello", "world");obj.applys.call(tempobj, ["hello", "world"]);//call()和apply()例子如下://想通过o的方法来调用函数f(),可以选择call(),apply()
        f.call(o);//f.apply(o);//以上两个代码解释如下://假设对象o中预先不存在名为m的属性o.m = f; //将f存储为o的临时方法
        o.m();delete o.m //将临时方法删除

js对象有三个属性,1:原型属性(prototype),2,类属性(调用toString()返回如下格式字符串:[object,class].

//对象的类属性(class attribute)是一个字符串,用以表示对象的类型信息。
//classof可以传递任意类型的参数
function classof(o)
{if(o===null)return "Null";if(o===undefined)return "Undefined";return Object.prototype.toString.call(o).slice(8,-1)
}

转载于:https://www.cnblogs.com/jiangxiaofan/p/3802563.html

js对象,原型,call,apply浅析相关推荐

  1. vue js 对象下的原型_如何使用Vue.js和Pusher创建实时原型反馈应用程序

    vue js 对象下的原型 by Neo Ighodaro 由新Ighodaro 如何使用Vue.js和Pusher创建实时原型反馈应用程序 (How to create a realtime pro ...

  2. 【JS对象】打败JS原型、原型链大恶魔方法详解

    文章目录 什么是对象? 什么是面向对象? 创建对象的方式 原型是什么? __proto__属性 constructor属性 原型链 函数的定义类型有哪些? 函数也是一个对象 完整的原型链 打败恶魔第一 ...

  3. 初学JavaScript:js中的对象(对象+原型对象)

    文章目录 js对象详解 1.创建对象 字面量模式创建对象 构造函数模式创建对象 2.访问对象 访问属性 访问方法 3.遍历对象中的属性和属性值 4.往对象中新添属性 5.删除对象中的属性 6.Obje ...

  4. js 高级 原型对象

    原型链 任何对象都有原型对象,也就是prototype属性,任何原型对象也是一个对象,该对象就有__proto__属性,这样一层一层往上找,就形成了一条链,我们称此为原型链; 函数类,实例和原型对象三 ...

  5. JS 对象封装的常用方式

    JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = na ...

  6. JS 对象机制深剖——new 运算符

    其实关于 new 的讨论,早有众多前辈做了先行.然而作为 JS 对象机制系列的一个重要成员,这一篇不可少,而且按照自己的惯例,我将首先引用语言规范的内容.另外,本篇引用到的规范内容比较多,不过我会做详 ...

  7. js中call()与apply()方法

    菜鸟级别的选手,学习+意会.欢迎指正 参考文章 http://uule.iteye.com/blog/1158829 http://blog.csdn.net/myhahaxiao/article/d ...

  8. JS基础 原型与继承

    阅读目录 原型基础 原型对象 使用数组原型对象的 concat 方法完成连接操作 默认情况下创建的对象都有原型. 以下 x.y 的原型都为元对象 Object,即JS中的根对象 创建一个极简对象(纯数 ...

  9. JS - 11 - 原型、继承 -

    感谢:https://www.bilibili.com/video/av78687689?p=2 笔记 文章目录 waht? 原型 # 原型方法.对象方法的优先级 # 函数 的原型 原型 关系 . 属 ...

最新文章

  1. 从架构演进的角度聊聊Spring Cloud都做了些什么?
  2. Keras中Callback函数的使用
  3. extern c用法解析
  4. Java ThreadLocal
  5. 浅谈对px em rem的理解
  6. 搭扶梯靠右站,真的对吗?
  7. 实现机器学习的循序渐进指南IV——逻辑回归
  8. python 选择多个文件_python-PyQt QFileDialog-多目录选择
  9. 查看exe代码_【安全风险通告】Windows Type 1字体解析远程代码执行漏洞安全风险通告...
  10. 机器学习监督学习之分类算法---朴素贝叶斯代码实践
  11. vbreport8.wpf.viewer 个别电脑不显示_【电脑手机小技巧】新买的电脑,第一次开机最好要这样设置...
  12. 计算机语言学和语料库语言学的区别,浅谈语料库语言学与外语教学
  13. flac文件转换成mp3格式
  14. MQL5:创建自己的指标
  15. 课后作业3:软件分析与用户体验分析
  16. 计算机软件it是什么职业,it行业是什么工作做什么的?属于信息技术产业(工资可观)...
  17. 副词(Adverb 简称adv.)
  18. 个人大学生工作室面试前期准备
  19. 程序流程图、N-S图、PAD图
  20. 概率论得学习和整理6:概率的分布

热门文章

  1. python在线读-用python实现自己的小说阅读器
  2. 通信专业学python有用吗-一起学Python:网络通信过程
  3. python比较好的书籍推荐-推荐几本2019年初学者学习Python最佳书籍!
  4. python简单代码hello-树莓派完成简单的编程(四)
  5. python基本使用-python基本用法
  6. python教程视频在线-微软再推免费在线Python教程 包含20个视频
  7. python语言能干什么-Python这么火到底能干啥?
  8. python自学多久可以找到工作-自学Python的高效方法,学Python多久能找到工作?
  9. python常用知识点总结-python 类知识点总结
  10. python代码教程-(Python基础教程之三)Python代码中添加注释