Mryqu's Notes


  • 首页

  • 搜索
close

[JavaScript] 函数的prototype对象属性

时间: 2014-08-22   |   分类: FrontEnd     |   阅读: 48 字 ~1分钟

原型(prototype)

JavaScript 不包含传统的类继承模型,而是使用原型模型。继承方面,JavaScript中的每个对象都有一个内部私有的链接指向另一个对象,这个对象就是该对象的原型。这个原型对象也有自己的原型,直到对象的原型为 null为止(也就是没有原型)。这种一级一级的链结构就称为原型链。JavaScript: 函数的prototype对象属性

Function.prototype.toString()

toString()方法返回表示函数源代码的字符串。JavaScript: 函数的prototype对象属性

Function.prototype.bind()

对于给定函数,bind()方法创建具有与原始函数相同主体的绑定函数。 在绑定函数中,this对象将解析为传入的对象。绑定函数具有指定的初始参数。

fun.bind(thisArg[, arg1[, arg2[, ...]]])

JavaScript: 函数的prototype对象属性JavaScript bind 方法具有几种用法。 通常,它用于为在其他上下文中执行的函数保留执行上下文。

Function.prototype.call()和Function.prototype.apply()

call()和apply()方法都是调用一个对象的方法,用另一个对象上下文替换当前对象上下文。两者仅在定义参数方式有所区别:call传递的是参数列表,apply传递的是数组或arguments对象。

fun.call(thisArg[, arg1[, arg2[, ...]]])

应用call和apply还有一个技巧,就是call和apply应用另外一个函数以后,当前函数就具备了另外一个函数的方法和属性,这也可以称之为“继承”。JavaScript: 函数的prototype对象属性通过上例可知,extend调用call方法后就继承到了base的方法和属性。

参考

JavaScript函数的Arguments对象属性
Javascript继承机制的设计思想
深入理解JavaScript系列(5):强大的原型和原型链
Function.prototype.apply()
Function.prototype.call()
Function.prototype.bind()
Function.prototype.toString()
Functional JavaScript, Part 3: .apply(), .call(), and the arguments object
Bind, Call and Apply in JavaScript

标题:[JavaScript] 函数的prototype对象属性
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#javascript# #prototype# #call# #apply# #bind#
[JavaScript] 字符串与JSON数据互转
[JavaScript] 函数的Arguments对象属性
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • 原型(prototype)
    • 参考
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%