日期:2014-05-16  浏览次数:20400 次

javascript高级程序设计笔记(1)
以前一直以为不就是语法跟java差不多嘛。。。但是认真看的时候还是有很多的不同点的。
1.在html中得<head></head>中写js代码或者引用js文件。
2.html中延迟执行js文件,即整个页面解析完了再运行
<script type="text/javascript" defer="defer" src="xx.js"></script>

2.标识符:第一个字符必须是字母 下划线或者美元符,其他字符可以是字母 下划线 美元符 数字。
3.没有var,相当于定义一个全局变量,外部仍可以访问。
function test()
{
  message = "message"
}
test();
alert(message) //"message"

4.有五种基本数据类型:Null Undefined Number Boolean String,一种复杂的数据类型:Object.

5.用typeof来检测数据类型。
alert(typeof "message");//返回string

6.undefined,声明但没有初始化
var message;
alert(message == undefined);//返回true

对于没有声明的会报错:
alert(message == undefined);//报错

但是对于typeof来说,却是可以检测未声明的变量不报错。
var message;
alert(typeof message);//返回undefined
alert(typeof age);//返回undefined

7.Null和Undefined只有一个值,就是它本身。Undefined派生自Null,null表示一个空对象指针。typeof Null返回Object。

8.没有块级作用
if(true){
  var c = "blue";
}
alert(c);//返回blue

9.slic substr substring
  当传入值为正数且只有一个参数时(参数表示开始截取的位置),截取到最后。
  当传入值为正数有两个参数时,slice 和 substring的参数1表示开始截取的位置,参数2表示最后截取的位置;substr的参数1表示开始截取的位置,参数2表示最后截取的个数。
  当传入值为负数时,slice和substr的第一个参数加上字符串的长度表示开始截取的位置,并截取到最后。substring的第一个参数把负数变为0。第二个参数,slice会把它加上字符串的长度,substr substring把它变为0;
var str = "hello world";
alert(str.slice(3));//"lo world"
alert(str.slice(3,7));//"lo w"
alert(str.slice(-3));//"rld" (11+(-3)=8)
alert(str.slice(-3,7));//""  str.slice(8,7);不执行,如果str.slice(-9,7)-->"llo w"
alert(str.substr(3));//"lo world"
alert(str.substr(3,7));//"lo worl"
alert(str.substr(-3));//"rld"
alert(str.substr(-3,7));//"rld" str.substr(8,7)-->str.substr(8,11).
alert(str.substring(3));//"lo world"
alert(str.substring(3,7));//"lo w"
alert(str.substring(-3));//"hello world"
alert(str.substring(-3,7));//"hello w"