1、字面量与构造函数

2、正则表达式:

  \d:匹配一个数字字符,等价于[0-9];

  \w:匹配包括下划线的任何单词字符,类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集;

  注意:匹配的含义,比如o{1,2},单独的{1,2}没有任何含义,需要前面的子表达式o,o{1,2}表示匹配o最少1次,最多2次,即o{1,2}整体匹配(表示)o和oo;

  vs 通配符?

3、如何查看浏览器使用的ECMAScript的版本?

4、

  source属性只是返回字面量形式的部分,比如 /cat/g 中的 cat?

5、exec()方法:

  调用一次exec()只能查找到一个位置;

  设置g的意义在于下次调用是从头开始搜索,还是接着上次搜索往后搜索;

  方法返回的数组是相对于捕获组而言的;

  捕获组的概念?

6、this引用的是???

  js中没有块级作用域的概念,所以局部环境就是指函数的执行环境;

  this是函数内部的一个特殊对象,与arguments同级别;

  在全局作用域中调用函数:

    全局作用域中;

    没有对象调用。

  先记:

    函数的this对象指向函数的调用者对象;

    可以通过函数的call()或apply()方法为函数指定this指向的对象。

      

 

7、函数的prototype属性?

  在创建自定义引用类型以及实现继承?时

8、函数的apply()和call()方法?

  传入this作为this值;

  function sum(num1,num2){
    return num1 + num2;
  }
  function callSum1(num1,num2){
    return sum.apply(this,arguments);
  }

  Uncaught TypeError: sum.apply is not a function?

  Uncaught TypeError: sum.call is not a function?

9、方法与函数的区别?:

  方法不能独立于对象而存在;

  函数是独立存在的;

  通过函数来定义方法,或者方法的"值"就是一个函数。

10、布尔操作符之逻辑与:

  

 11、Number可以表示:

  基本数据类型的名字;

  引用类型的构造函数;

  数值转换函数。

12、构造函数一般是可以传入参数,以完成对象的初始化操作,自定义?

13、单字节字符与双字节字符?

14、变量的销毁:

  变量名与内存地址间的映射?

  字面量与变量的存储位置?:字面量是用于填充变量的;

  一般地,执行环境中的变量,只有在执行流离开该环境后,才会被销毁;

  但ECMAScript中的字符串是不可变的:

    要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量;

    注意这里销毁的是字面量,而非变量。

15、slice/substr/substring获取子字符串:
  两个参数,第二个参数可选;

  只有一个参数:

    参数为正值:

      slice:从指定位置到结束;

      substr:从指定位置到结束;

      substring:从指定位置到结束。

    参数为负值:

      slice:负值与长度相加得到开始位置,从开始位置到结束;

      substr:负值与长度相加得到开始位置,从开始位置到结束;

      substring:负值转换为0,返回完整字符串。

  有第二个参数:

    参数为正值:  

      slice:从指定位置开始到指定位置结束;

      substr:从指定位置开始,指定返回的字符个数;

      substring:从指定位置开始到指定位置结束。

    参数为负值:

      slice:负值与长度相加得到结束位置,从开始位置到结束位置;

      substr:负值转换为0,返回空字符串;

      substring:负值转换为0,从0位置到指定位置(会将较小的数作为开始位置)。

16、ECMAScript中没有字符的概念,只有字符串的概念。

17、正则表达式中,捕获组的引用?:

  一个捕获组可能会匹配多个不同的字符串;

  但每次匹配搜索只会匹配唯一字符串(第一个),可以通过$n(n为0~9)引用。

18、split(),参数为正则表达式时?:

  /[^\,]+/:匹配非逗号的多个字符,逗号也可以不用转义?

19、String类型的match()方法本质上与RegExp类型的exec方法相同。

20、String类型的localeCompare()比较参考的是字母表还是ASCII码表?

21、String构造函数本身有一个静态方法:fromCharCode()

  函数本身就是对象,也就会有属性和方法。

22、URI编码规则?

  URL、URN;

  查询字符串参数

23、在eval()中创建的任何变量或函数都不会被提升:

  提升是什么概念?

24、把Math对象作为apply()的第一个参数,从而正确地设置this值?

  var arr = [5,6,8,1,2,3];
  alert(Math.max.apply(Math,arr));