欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

燕十八 Javascript高级视频资料分享

程序员文章站 2022-05-12 18:11:32
...
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

JavaScript 是因特网上最流行的脚本语言,它存在于全世界所有 Web 浏览器中,能够增强用户与 Web 站点和 Web 应用程序之间的交互。《燕十八 Javascript高级教程》是JavaScript学习的进阶教程,带领朋友们如何扩展的学习JavaScript语言,以使它适应特殊的需求。

燕十八 Javascript高级视频资料分享

视频播放地址:http://www.php.cn/course/214.html

本课程需要学习this的用法,了解this的含义,这个很重要,

1. this 和构造器

this 本身就是类定义时构造器里需要用到的,和构造器在一起再自然不过。

/**
 * 页签
 *
 * @class Tab
 * @param nav {string} 页签标题的class
 * @param content {string} 页面内容的class
 *
 */
function Tab(nav, content) {
  this.nav = nav
  this.content = content
}
  
Tab.prototype.getNav = function() {
  return this.nav;
};
Tab.prototype.setNav = function(nav) {
  this.nav = nav;
};
Tab.prototype.add = function() {
};

按照 JavaScript 的习惯, this 应该挂属性/字段,方法都应该放在原型上。

2. this 和对象

JS 中的对象不用类也可以创建,有人可能奇怪,类是对象的模板,对象都是从模板里 copy 出来的,没有类怎么创建对象? JS 的确可以,并且你完全可以写上万行功能代码而不用写一个类。话说 OOP 里说的是面向对象编程,也没说面向类编程,是吧 ^_^ 。

var tab = {
  nav: '',
  content: '',
  getNav: function() {
    return this.nav;
  },
  setNav: function(n) {
    this.nav = n;
  }
}

3. this 和函数

首先,this 和独立的函数放在一起是没有意义的,前面也提到过 this 应该是和面向对象相关的。纯粹的函数只是一个低级别的抽象,封装和复用。如下

function showMsg() {
  alert(this.message)
}
showMsg() // undefined

定义 showMsg,然后以函数方式调用,this.message 是 undefined。因此坚决杜绝在 纯函数内使用 this,但有时候会这么写,调用方式使用 call/apply

function showMsg() {
  alert(this.message)
}
  
var m1 = {
  message: '输入的电话号码不正确'
}
var m2 = {
  message: '输入的身份证号不正确'
}
  
showMsg.call(m1) // '输入的电话号码不正确'
showMsg.call(m2) // '输入的身份证号不正确'

用这种方式可以节省一些代码量,比如当两个 类/对象 有一共相似的方法时,不必写两份,只要定义一个,然后将其绑定在各自的原型和对象上。这时候其实你还是在使用对象或类(方式1/2),只是间接使用罢了。

以上就是燕十八 Javascript高级视频资料分享的详细内容,更多请关注其它相关文章!