下面是JS中一些特别的注意点,看看你知道多少:
1、看看下面的输出是什么(不要奇怪,JS可是具有很强的类型转换功能哦) Js代码
![复制代码](http://jnotnull.javaeye.com/images/icon_copy.gif)
- 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代码
![复制代码](http://jnotnull.javaeye.com/images/icon_copy.gif)
- 3<2
- "3"<2
- "three"<2
3、在很多种编程语言中,对于截取字符串的操作有subString()方法,但是你知道在JS中有subStr()方法吗?是subString()的缩写?它们没有区别?
4、对于函数的构造方法,你认识下面这个方法吗 Js代码
![复制代码](http://jnotnull.javaeye.com/images/icon_copy.gif)
- new Function("x","y","return x+y;");
不知道的话赶紧去补一补函数方面的知识吧。
5、我们知道JS脚本语言是弱类型语言,或者说是无类型语言。所以在定义封装 函数的时候我们的参数是不用定义类型的。而调用它的时候也不是不管参数的或者说参数的个数的。在这里,typeOf()方法和arguments对象就是 对上面的情况的补充。使用typeOf()方法可以进行类型的判断,而arguments对象则是对传递进来参数的封装。arguments对象有一个 length属性和一个callee方法。callee方法用来调用函数本身
6、对于数组的构造,以下几种方式你知道几种 Js代码
![复制代码](http://jnotnull.javaeye.com/images/icon_copy.gif)
- 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呢?对于编码我不是太了解!