Js基础知识学习-----from 米升亮

由于这两周在开发H5推广模板,所以结合实战在学习js基础。由于js知识点比较零碎,故总结一些零碎的知识点。

主要学习内容:

  1. ECMAScript 基础
  2. js对象基础
  3. 继承

ECMAScript 基础

语法:

  • 区分大小写
  • 变量弱类型
  • 每行结尾;可有可无
  • 注释和java和PHP相同

ECMAScript五种原始类型

  1. Undefined
    变量未初始化时,该变量的默认值为Undefined;

  2. Null
    Undefined是从Null中派生出来的; null == undefined //true

  3. Boolean
    只要是对象,Boolean返回的就是true。0和null值默认为false

  4. Number
    toString()方法可分为默认模式和基模式;
    如:toString(16);

  5. String
    使用 typeof var 可得var的变量类型
    强制类型转换:在解决null这个特殊值时,比较有趣。
    var s1 = String(null); //"null"
    var oNull = null;
    var s2 = oNull.toString(); //won't work,causes an error

运算符

js中的浮点数乘法运算都是先扩大为整数再运算,而后除以相应的倍数,故在乘法的结果中也会出现无限循环小数。保险做法为先将运算数扩大百倍再将结果缩小百倍。

Function类

无重载(利用arguments可实现重载机制,arguments为参数可变数组)
函数也可作为参数传递

js对象基础

对象的废除

  1. 当再没有对对象的引用时,该对象被废除。
  2. 当强制将对象的引用设为null值时,可以强制性废除对象。

对象类型

  • 本地对象(独立于宿主环境的ECMAScript实现提供的对象)

  • Array:
    join()实现链接数组元素
    push() :数组尾部增加一个元素,可传递多个元素,但总是习惯与传递一个参数且使用多次。
    pop():数组尾部删除一个元素。
    shift():删除数组中的第一个位置元素。
    unshift:增加一个元素到第一个位置。

  • Date:存在Date类,且有多种表现格式。

  • 内置对象(由ECMAScript实现提供的,独立于宿主环境的所有对象,在ECMAScript程序开始执行时开始出现;每个内置对象都是本地对象;)

    • Global:根本不存在。
  • 默认的方法为global对象的方法,如isNaN();
    encodeURI()
    encodeURIComponent():想较于encodeURI,将特殊字符全部转化。
    decodeURI()
    decodeURIComponent():输出上面两种URI编码。
    escape()
    unescape():尽量避免使用,只能对ASCII正确编码。不能对Unicode全部编码。
    eval():解释js的程序,慎重使用,很可能代码注入。

  • Math:提供各种处理函数。

  • 宿主对象

  • 定义类或者函数:
    工厂方式:每次创建一个对象,直接返回对象。
    构造函数方式:使用this。
    原型方式:
    混合的构造函数/原型方式:构造变量,原型初始化函数。

  • 修改对象:
    Object.prototype.function();
    Object.prototype.var;

  • 继承

  • 对象冒充
    call(this,var a1,var a2);
    apply(this,new Array("",""));

你可能感兴趣的:(Js基础知识学习-----from 米升亮)