老生常谈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 对象、函数和继承
Jul 07 Javascript
jQuery获取地址栏参数插件(模仿C#)
Oct 26 Javascript
JavaScript与HTML的结合方法详解
Nov 23 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
May 10 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
Angular6笔记之封装http的示例代码
Jul 27 Javascript
利用Blob进行文件上传的完整步骤
Aug 02 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
Aug 22 Javascript
JS实现选项卡效果的代码实例
May 20 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
Sep 25 Javascript
Node.js API详解之 Error模块用法实例分析
May 14 Javascript
antd日期选择器禁止选择当天之前的时间操作
Oct 29 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
jquery 插件开发备注
2010/08/27 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
游戏商店:Eneba
2020/04/25 全球购物
数控技术专业推荐信
2013/11/01 职场文书
自主实习接收函
2014/01/13 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
军训决心书范文
2015/09/22 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书