JavaScript笔记(1)

来源:互联网 发布:多人排班软件 编辑:程序博客网 时间:2024/04/29 20:50
1 在<script language="JavaScript"></script>中使用language是因为除了JavaScript还有vbscript,如果不写language时浏览器默认解释为JavaScript代码。

2 引用js文件的方式为:<script src="demo.js" type="text/javascript"></script>

3 所有变量都只使用var关键字进行声明。

4 变量名只能使用字母、"$"、"_",后接字母、数字、"$"、"_"。

5 JavaScript不区分单引号和双引号;如果在双引号内部需要用到单引号,则可以使用单引号代替;如果在双引号内部必须使用到双引号,则需要使用转义字符。

6 JavaScript没有专门用于转化字符串类型的函数,只需要用"+"连接两个字符类型的就可以。例如:
alert("yyy" + null + 123);
的结果为:yyynull123。

7 JavaScript的常量使用全大写字符命名。

8 如果在""中需要使用""时需要使用转义字符,例如:
alert("he said \"how could this be !\"");


9 在JavaScript的除法中,即使两个操作数都是整数,当无法整除时,结果是一个小数,而不是整数。此外,当除数为0时,并不会引发程序错误,而是得到一个Infinity的结果。

10 JavaScript引入了严格等于的概念,即===,要求值相同而且值的类型也要相等;注意这里不是指向同一内存空间。例:
var a = 2;var b = a;var c = 2;alert(a === b);alert(a === c);
的结果为:true true。

11 void为取消返回值运算符。例如:
alert(void parseInt('123a4'));
结果为:undefined,并不是123。

12 JavaScript中的switch语句支持各种类型的case条件,包括所有基本类型和引用类型,这在Java中是不允许的,只支持字符和整数类型。例如:
var con1 = null;var con2 = 1;var con3 = Object;var con4 = "string";switch (con1){    case null: alert(null); break;    case 1: alert(1); break;    case Object: alert(Object); break;    case "string": alert("string"); break;}


13 lable语句的应用,例:
var output;var loop = 0;outer:for(var i = 0; i < 10; i++){    for(var j = 10; j >0; j--){        for(var k = 0; k < 10; k++){            //满足条件时,中断所有循环            if(i == j && j == k && j < 2){                output = i * j * k;                break outer;//跳出最外层循环            }            loop++;        }    }}alert(output + ":" + loop);
结果为1:191;如果不用lable循环结果则为1:1000,性能改善不少。

14 JavaScript中参数列表中的参数没有类型,例如:
function x(a){}


15 JavaScript数组的建立方法有两种:一种是使用特殊符号创建;一种是使用对象创建。
【1】使用特殊符号创建
var a = [1, '2', true];alert(a.length);
的结果为3。
注:JavaScript中数组中的元素可以多中类型混合搭配。
【2】使用对象创建
var array1 = new Array(1, 2, 3);alert(array1.length);//结果为3,当参数个数大于等于2时,参数为传递的参数值。var array2 = new Array(4);alert(array2.length);//结果为4,当参数个数为1个时,参数为数组的长度。var array3 = new Array();alert(array3);//结果为空,当前数组没有长度。


16 JavaScript中给一个不存在的索引赋值,会自动扩展数组,例如:
//初始数组为只包含一个数字var arr = [1];//设置数组的第4个元素为1arr[3] = 1;alert(arr[2] + '\n' + arr);
结果为:undefined
1,,,1。未被赋值的数组元素的值为undefined。

17 多维数组的实现方式
var arr1 = [1, 2, 3];var arr2 = [4, 5, 6];var arr3 = [arr1, arr2];alert((arr3[0] === arr1) + "\n" + arr3[1][1]);
结果为:
true
5

18 关于函数参数需要主要几点:
【1】参数名可以重复,但通过此参数名获取的值为实际传递参数值的最后一个,如果实际传递参数值的个数少于重名参数个数,那么通过此参数名获取的值为undefined。例:
function example(a, a, a){    alert("a = " + a);}example(1, 2, 3);example(1,2);

【2】即使函数声明了参数,调用时也可以不传递参数值。例:
function example(a, a, a){    alert("1024");}example();


19 JavaScript中函数的另一种写法(匿名函数)
主要的思想是:函数也是一种数据类型,成为function类型;既然函数也是一种数据类型,那么它也可以被赋值给变量。例:
var examp = function example(a, a){    alert("1024");}examp();


20 JavaScript变量的作用域
JavaScript变量的执行环境只有两种:全局环境、函数环境。也就是说变量的作用域只有这两种情况,大括号不会作为变量的作用域,这个和Java是一个很大的区别。例:
for(var i =0 ; i < 5; i++){    var num = 20;}alert(num);


21 在JavaScript的注释中千万不要出现"</script>",它会认为是“<script>”的结束符,从而导致整个JavaScript代码出现问题。这真是一个令人不爽的“Bug”。
0 0
原创粉丝点击