创建对象的方式有四种

1.直接量

var obj={

属性名:属性

方法名:function(){}

}

2.通过构造函数创建对象,这样能够批量创建多个具有相同属性的子对象(顺便介绍call,apply,bind三个关键字的区别应用)

function person(name,age){

this.name=name;

this.age=age;

}

或者function person2(name,age){

this.name=argument[0];

this.age=argument[1];

}

第一种方式用call

functon student(name,age.sex,tel){

person.call(this,name,age);

this.sex=sex;

this.tel=tel;

}

call()的作用就是让person中的this的指向全部都改成call中的内容,并且能在里面追加参数

第二种方式用apply

functon student(name,age.sex,tel){

person2.apply(this,[name,age]);

this.sex=sex;

this.tel=tel;

}

还有第三种方式就是用bind

例子1:

function person(name,age){

this.name=name;

this.age=age;
console.log(this.name,this.age)

}

var student=person.bind();
student(9,10);

例子2:

function calc(base,bonus){

console.log(this.ename+"的总工资是"+(base+bonus)

}

var lilei ={ename:"li lei"}

var Lilei=calc.bind(lilei);

bind其实就是讲旧的函数复制了一份给了新的函数,并且永久绑定this,并且也可以永久绑定参数。

总结来说call借用别人的方法,完成自己的事情需要把实参按照形参的个数传进去。立刻执行

apply也是借用别人的方法,但是传递参数是按照数组的方式,需要注意实参跟形参的顺序。也是立刻执行

bind是创建了一个新的函数,但是不立刻执行。

转载于:https://www.cnblogs.com/yzxyzx/p/11369272.html

创建对象的方式以及call,apply,bind的区别相关推荐

  1. 前端学习(1115):call apply bind的区别

  2. call,apply,bind的区别

    1 转载于:https://www.cnblogs.com/YangJonathan/p/11223641.html

  3. JS高级—call(),apply(),bind()

    文章目录 call() 介绍 语法 特点 返回值 使用(主要应用) apply() 介绍 语法 特点 返回值 使用 bind() 介绍 语法 特点 返回值 使用 call(),apply(),bind ...

  4. JavaScript中的call,apply,bind区别及应用(包含手写call/apply/bind)

    目录 一.使用目的 二.三者分别是如何定义的及区别(摘自MDN) 三.在程序中收获 四.三者的具体应用 四.手写bind,apply,call 今天在读程序题的时候,遇到call,apply,bind ...

  5. 函数调用的方法一共有 4 种,call,apply,bind

    1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...

  6. JavaScript内置一些方法的实现原理--new关键字,call/apply/bind方法--前戏

    new关键字,call/apply/bind方法都和this的绑定有关,在学习之前,首先要理解this. 一起来学习一下this吧 首先.this是一个对象. 对象很好理解,引用类型值,可以实现如th ...

  7. 复习javascript中call,apply,bind的用法

    一直很难理解js中的call apply bind,在w3schools,mdn阅读了,也看了很多相关的文章,今天我来写下我理解的call apply bind 首先创建一个函数 function m ...

  8. call / apply / bind

    对于 call / apply / bind 来说,他们的首要目的是用于改变执行上下文的 this 指针. call / apply 对 call / apply 的使用,一般都如下,用于改变执行环境 ...

  9. 50行javaScript代码实现简单版的 call , apply ,bind 【中级前端面试基础必备】

    在实现自己的call,apply,bind前,需要复习一下this. ###所谓的this其实可以理解成一根指针: 其实 this 的指向,始终坚持一个原理:this 永远指向最后调用它的那个对象,这 ...

最新文章

  1. R语言ggplot2可视化:自定义设置X轴上的时间间隔(中断、以年为单位),使用scale_x_date()自定义设置坐标轴间隔和标签、添加标题、副标题、题注信息
  2. 运维工程师必备之负载 均衡集群及LVS详解
  3. UVA11624大火蔓延的迷宫
  4. Java数据结构和算法:位运算
  5. ISAPI_Rewrite规则
  6. List集合ArrayList,LinkList
  7. 在.NET中使用DiagnosticSource
  8. 位枚举(Bit Flags)
  9. 牛客16464 神奇的幻方
  10. 如何在github上下载某个项目的单独某个目录
  11. WebSocket connection to,Error during WebSocket handshake: Unexpected response code: 404
  12. php自定义请求headers,php通过header发送自定义数据方法
  13. 牛客网 ACM模式单行输入输出规范
  14. 基于Python的校园学生一卡通管理系统
  15. 易语言的Java皮肤_易语言软件更换皮肤的方法
  16. 计算机视觉行业博客和代码汇总
  17. 2021-2027全球与中国环卫云平台市场现状及未来发展趋势
  18. jvm jni 及 pvm pybind11 大批量数据传输及优化
  19. 利用计算机设计产品,计算机在产品设计的应用论文
  20. python win10 捕获 弹出窗口_[python爬虫] Selenium高级篇之窗口移动、弹出对话框自登录...

热门文章

  1. 关于近期对Lucene.Net应用研究学习的总结
  2. ldconfig及LD_LIBRARY_PATH
  3. canal能监控多个mysql_learning-mysql-canal
  4. python一点基础都没有的怎么办-为什么我会建议每个大学生都学一点python编程?...
  5. python数据结构推荐书-自己想学数据结构,有大佬能推荐一下看什么书吗?
  6. python3-Python3.7.0官方版
  7. 在当当买了python怎么下载源代码-python爬虫爬取当当网
  8. 在线python编程编译器-在线编译或编辑Python的5个最佳工具
  9. 软件测试用python一般用来做什么-python软件测试
  10. python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目