关于js,你知多少

之前对JS只是了解,在使用时都要找很多的参考资料。一气之下决定研究一个月。现在自己终于对JS有了更加全面的认识。
     下面是JS中一些特别的注意点,看看你知道多少:
1、看看下面的输出是什么(不要奇怪,JS可是具有很强的类型转换功能哦) Js代码 复制代码
  1. var title = "java";  
  2. if(title)  
  3. alert("good");  
  4. else  
  5. alert("bad");  
  6.   
  7. title = "";  
  8. if(title)  
  9. alert("good");  
  10. else  
  11. alert("bad");  
  12.   
  13. title = 2;  
  14. if(title)  
  15. alert("good");  
  16. else  
  17. alert("bad");  
  18.   
  19. title = 0  
  20. if(title)  
  21. alert("good");  
  22. else  
  23. alert("bad");  
var title = "java"; if(title) alert("good"); else alert("bad"); title = ""; if(title) alert("good"); else alert("bad"); title = 2; if(title) alert("good"); else alert("bad"); title = 0 if(title) alert("good"); else alert("bad");

2、比较运算符,见过这样的表达式吗,做一下吧,看是否是你要的结果
Js代码 复制代码
  1. 3<2  
  2. "3"<2  
  3. "three"<2  
3<2 "3"<2 "three"<2

3、在很多种编程语言中,对于截取字符串的操作有subString()方法,但是你知道在JS中有subStr()方法吗?是subString()的缩写?它们没有区别?

4、对于函数的构造方法,你认识下面这个方法吗 Js代码 复制代码
  1. new Function("x","y","return x+y;");  
new Function("x","y","return x+y;");
不知道的话赶紧去补一补函数方面的知识吧。

5、我们知道JS脚本语言是弱类型语言,或者说是无类型语言。所以在定义封装 函数的时候我们的参数是不用定义类型的。而调用它的时候也不是不管参数的或者说参数的个数的。在这里,typeOf()方法和arguments对象就是 对上面的情况的补充。使用typeOf()方法可以进行类型的判断,而arguments对象则是对传递进来参数的封装。arguments对象有一个 length属性和一个callee方法。callee方法用来调用函数本身

6、对于数组的构造,以下几种方式你知道几种 Js代码 复制代码
  1. var a = new Array();  
  2. var b = new Array(3);  
  3. var c = new Array(1,2,null,"");  
  4. var d = [1,2,null,""]  
var a = new Array(); var b = new Array(3); var c = new Array(1,2,null,""); var d = [1,2,null,""]
前三种是使用Array()构造函数定义的,最后一种是使用数组直接量来定义的。后者的优势很明显哦。

7、对于数组生成字符串,在JS语言中有很多方法,其中就有toString()和join()两个方法,你知道他们的不同吗?提示一下:后者可以传递参数

8、对于数组,我们可以使用splice()方法和slice()方法来截取数组的一部分,你知道他们的区别吗?

9、下面说说JS中面向对象和继承的特性。我们知道JS中有原型的概念,使用它可以使性能有很大的提升。但是给我看来,使用原型就感觉实在仰视着,永远站在子类的地位上。这和我想象的面向对象思想有点矛盾。我认为解决问题应该使用俯视的态度,从大局抓起。

10、最后一点关于编码,也想请教一下各位。在HTML页面中我设置的编码方式是UTF8,但是JS脚本好像对我的编码视而不见。看看下面的代码alert("中国".length);得到的长度竟然是2,而不是6。怎样能使得它的长度是6呢?对于编码我不是太了解!
原文地址:https://www.cnblogs.com/danghuijian/p/4400897.html