老生常谈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 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
Javascript 面试题随笔
Mar 31 Javascript
JavaScript中“+”的陷阱深刻理解
Dec 04 Javascript
js实现单行文本向上滚动效果实例代码
Nov 28 Javascript
Jquery实现的角色左右选择特效
May 21 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
JS获取各种宽度、高度的简单介绍
Dec 19 Javascript
js判断当前页面用什么浏览器打开的方法
Jan 06 Javascript
分享javascript计算时间差的示例代码
Mar 19 Javascript
jQuery实现移动端Tab选项卡效果
Mar 15 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 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定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
Python单例模式的两种实现方法
2017/08/14 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
opencv 阈值分割的具体使用
2020/07/08 Python
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
资料员的岗位职责
2013/11/20 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
2015年共青团工作总结
2015/05/15 职场文书
人事任命书范本
2015/09/21 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python