老生常谈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操作input值的各种方法总结
Nov 21 Javascript
禁止IE用右键的JS代码
Dec 30 Javascript
Javascript Object 对象学习笔记
Dec 17 Javascript
JavaScript获取网页表单提交方式的方法
Apr 02 Javascript
基于jquery实现的树形菜单效果代码
Sep 06 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
Jul 09 Javascript
漂亮! js实现颜色渐变效果
Aug 12 Javascript
如何实现json数据可视化详解
Nov 24 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
Oct 31 Javascript
JavaScript分步实现一个出生日期的正则表达式
Mar 22 Javascript
layui use 定义js外部引用函数的方法
Sep 26 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 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/04/26 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
HTML的select控件美化
2017/03/27 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
Python实现的数据结构与算法之链表详解
2015/04/22 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
python getpass模块用法及实例详解
2019/10/07 Python
python求质数列表的例子
2019/11/24 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
Python实现京东抢秒杀功能
2021/01/25 Python
婚纱摄影师求职信
2014/03/07 职场文书
求职个人评价范文
2014/04/09 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
教师师德承诺书2016
2016/03/25 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang