老生常谈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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
一个对于js this关键字的问题
Jan 09 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
Jquery判断$("#id")获取的对象是否存在的方法
Sep 25 Javascript
java和javascript获取word文档的书签位置对比
Jun 19 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
React Component存在的几种形式详解
Nov 06 Javascript
微信小程序websocket聊天室的实现示例代码
Feb 12 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
May 16 Javascript
ES6 Map结构的应用实例分析
Jun 26 Javascript
详解Vue 单文件组件的三种写法
Feb 19 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 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 无限分类的树类代码
2009/12/03 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
php生成二维码
2015/08/10 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
javascript 对象的定义方法
2007/01/10 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
Javascript的this详解
2019/03/23 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
基于Python闭包及其作用域详解
2017/08/28 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
运动会广播稿400字
2014/01/25 职场文书
商场总经理岗位职责
2014/02/03 职场文书
工作违纪检讨书
2014/02/17 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
自主招生学校推荐信
2014/09/26 职场文书
校园之声广播稿
2015/08/18 职场文书
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python