老生常谈Javascript中的原型和this指针


Posted in Javascript onOctober 09, 2016

1、Javascript中的原型:

原型prototype是Javascript中特有的一个概念。通过原型,Javascript可以实现继承机制。

Javascript本身是基于原型的,每一个对象都有一个prototype属性。而Object对象的prototype属性为null。

下面来看一个使用原型实现继承的例子:

1.1使用原型实现继承:

 

function Person(name){
  this.name = name;
  this.getName = function(){
    return this.name;
  }
}
function Artist(type){
  this.type = type;
  this.getType = function(){
    return this.type;
  }
}
Artist.prototype = new Person("arthinking");
var artist = new Artist("Guitar");
alert(artist.getType()); //本身就有type属性
alert(artist.getName()); //从Person原型链上继承到的属性和方法

 2、this指针:

Javascript中的this指针与传统的面向对象中的有些不同。传统的面向对象中this指针在类中声明的,表示对象本身。

Javascript中this表示当前上下文,即调用者的引用。Javascript中this代表的对象不是根据函数的声明而确定的,而是根据的调用而确定的。下面展示了一个函数中的this使用call指定具体代表的对象:

var test1 = {
  name : "test1"
}
var test2 = {
  name : "test2"
}
function getName(){
  return this.name; //this根据传调用该函数的上下文来确定的,定义该函数时,this指针并不确定
}
alert(getName.call(test1));

这里的call是Function的一个函数。

以上就是小编为大家带来的老生常谈Javascript中的原型和this指针全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
通过Javascript创建一个选择文件的对话框代码
Jun 16 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
json中换行符的处理方法示例介绍
Jun 10 Javascript
js 求时间差的实现代码
Apr 26 Javascript
JS功能代码集锦
May 04 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
Dec 19 Javascript
react-native-video实现视频全屏播放的方法
Mar 19 Javascript
JS获取指定月份的天数两种实现方法
Jun 22 Javascript
JavaScript复制变量三种方法实例详解
Jan 09 Javascript
js实现百度登录窗口拖拽效果
Mar 19 Javascript
JS如何在不同平台实现多语言方式
Jul 16 Javascript
浅谈Javascript中的函数、this以及原型
Oct 09 #Javascript
常用Javascript函数与原型功能收藏(必看篇)
Oct 09 #Javascript
javascript汉字拼音互转的简单实例
Oct 09 #Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 #Javascript
Angularjs 创建可复用组件实例代码
Oct 09 #Javascript
Boostrap实现的登录界面实例代码
Oct 09 #Javascript
深入理解bootstrap框架之第二章整体架构
Oct 09 #Javascript
You might like
php实现根据词频生成tag云的方法
2015/04/17 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
js实现弹窗效果
2020/08/09 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
解读Python编程中的命名空间与作用域
2015/10/16 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
提高python代码运行效率的一些建议
2020/09/29 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
SQL数据库笔试题
2016/03/08 面试题
数控技术应届生求职信
2013/11/13 职场文书
网络维护中文求职信
2014/01/03 职场文书
团日活动策划书
2014/02/01 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
小学主题班会教案
2015/08/17 职场文书
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers