js跨平台,从web到App到后台都可以胜任,而且从当前市场对js开发的需求来看,刷刷js技能很有必要。

js无需编译,解释运行,弱类型,面向对象,运行在浏览器或者nodejs等平台上。

js基本数据类型、运算符

js中的数据类型有number, string, boolean, object, function, undefined。

delete删除对象的一个属性,不能删除一个函数名。

in判断属性是否在某个对象中。

js错误处理

编写js代码容易出错的地方个人觉得一个是大小写,另一个就是把方法当作属性或者把属性当作方法用。而且不同浏览器对于js代码的错误提示不太一样,不过随着html5和ECMAStript5的广泛应用,这种情况会越来越少。

js中throw错误可以是不同类型的对象(数值、字符串、对象等),浏览器抛出的错误是一个对象,但是对象的类型取决于浏览器的具体实现。

js属性

js中的属性有3个特性:Configurable(可修改或删除)、Enumerable(可枚举)和Writable(可写)。

js函数

js函数中的变量声明会提前,意思是所有函数中使用的变量已经在函数作用域中,但是给变量赋值之前变量的值是undefined。自调函数比较适合执行执行一次的或初始化的操作。函数也是一种数据类型,所以函数作用域中可以有私有函数,函数内部可以重写自己,可以在第一次调用后重写自己,这样可以保证某些操作不会重复执行。

var a = function () {
    function someSetup() {
        var setup = "done";
    }

    function actualWork() {
        alert("Worky-worky");
    }

    someSetup();
    return actualWork;
};

a();
私有函数

 浏览器探测技术:相同的任务在不同浏览器中可能是不同的,所以函数可以先检测浏览器然后重写自己。

js中的作用域(scope)可以理解成词法作用域(lexical)和执行上下文。词法作用域包括全局作用域以及函数定义的作用域,决定了代码中是否可以访问变量,会不会出现语法错误;执行上下文指运行时内存中的变量存储,变量名和变量值会以键值对的形式存储其中。程序开始运行之前,解释器会创建一个全局的执行上下文,之后每一个函数的执行会创建一个新的执行上下文。函数创建执行上下文的位置在其被定义的作用域对应的执行上下文中。闭包是指有权访问另一个函数作用域中的变量的函数。

js函数中的this是一个特殊参数,在运行时绑定(简单来说大多数情况即点号前面的对象),默认的绑定对象是global,call和apply可以重载默认的绑定。

js面向对象

js中没有类、继承等概念,但是可以利用原型链建立对象之间的联系来模拟继承。原型链最顶端的对象是object(拥有hasOwnProperty, constructor, toString等方法或属性)。

js中伪类的实现:

var Car = function (loc) {
    this.loc = loc;
};

Car.prototype.move = function () {
    this.loc++;
};

var amy = new Car(1);
amy.move();
伪类

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2021-04-15
  • 2021-11-30
  • 2021-05-07
  • 2021-06-20
猜你喜欢
  • 2021-12-29
  • 2021-06-02
  • 2021-12-06
  • 2021-04-04
  • 2021-12-12
  • 2021-12-20
  • 2021-05-23
相关资源
相似解决方案