老生常谈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 相关文章推荐
jQuery 使用手册(五)
Sep 23 Javascript
向左滚动文字 js代码效果
Aug 17 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 Javascript
jQuery CSS()方法改变现有的CSS样式表
Sep 09 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
jQuery EasyUI菜单与按钮详解
Jul 13 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 Javascript
vue 实现LED数字时钟效果(开箱即用)
Dec 08 Javascript
vue中activated的用法
Jan 03 Vue.js
浅谈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 $_FILES函数详解
2011/03/09 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
java script编程起步(第三课)
2007/01/10 Javascript
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
Python greenlet实现原理和使用示例
2014/09/24 Python
python实现解数独程序代码
2017/04/12 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
flask应用部署到服务器的方法
2019/07/12 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python3爬虫中异步协程的用法
2020/07/10 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
出生公证委托书
2014/04/03 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
python中__slots__节约内存的具体做法
2021/07/04 Python