准备工作:
编写javascript并不需要复杂的工具,其编写的代码必须通过HTML/XHTML文档执行。有两种方式可以做到,第一种是在head标签中的script标签中写生javascript代码。
另外一种方式使我们推荐的使用的方式,把js代码放在外部,在引用进去,引用的位置最好是在HTML文档最后,</body>之前,这样可以加快浏览器加载页面的速度。引
用的方式就是在script标签中的src属性上赋值,所写js代码的路径。
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8" />
5 <title></title>
6 </head>
7 <body>
8 ..
9 <script src="file.js"></script>
10 </body>
11 </html>
语法: 一.语句:js的语句可以不加分号而把他们放在不同行上,但这不是好的编程习惯,为了培养好的编程习惯,我们每条语句都给它加上分号,不管是不同行的还是同一行的。 二.注释:(1)行注释// (2)段注释/**/ (3)HTML风格行注释<!--(不推荐使用,容易于HTML注释混淆) 三.变量:使用var进行声明,由于js是动态语言,可以直接用变量赋值代替变量声明(test = “fuck”,将自动声明test变量)。但是为了培养编程习惯,请在使用前声明。 四.变量类型:
(1)字符串:包含在单引号或者双引号里的字符序列,选择的简单原则是:如果字符串包含单引号,则使用双引号,如果字符串包含双引号,则是同单引号。如:var mood = "don't ask";淡然也可以用转义字符,那么你仍然可以使用单引号,var mood = 'don\'t ask';
(2) 数值:可以直接使用整数,浮点数。var a = 3, b= 2.32;
(3) 布尔值:var test=true,sleeping = false;注意布尔值true于字符串"true"是两码事
Tips:标量--如果某个数是标量(scalar),它在任意时刻只能有一个值。(1)-(3)都是标量。
(4) 数组:相对于标量,如果想用变量存储一组值,就得用数组。
4.1创建数组:
使用数组有两种方式:一种是先声明数组,在对数字赋值。一种是在声明是就赋值。
第一种的话,如果使用整数索引,0开始表示第一个。第二种方式,是var test = Array("waht",1,"fuck","come",1.23);//创建了有五个元素的数组
Tips:数组的元素还可以是数组。
4.2关联数组:(哈希数组)
var test = array();test["first"] = 1;//不推荐使用关联数组,因为在js中,每中类型其实都是实例对象,所以这种方法的本质是给Array()对象添加
属性,如上,添加就是first属性。最好的情况下不应该修改Array对象属性,而是使用OBject对象。
(5)对象:
与数组一样的是,对象也是使用一个名字表示一组值。
5.1:创建对象,使用Object关键字。如:var lesson = Object();
5.2:使用.号了添加或者获取对象的属性。如 lesson.name = "John";
5.3:创建对象的另外一种简单方法----花括号方法:
var lesson = {name:"John",year:1945};
Tips:
var beatles = {};//创建一个Object对象
beatles.vocalist = lesson;//为Object对象添加vocalist属性,值为lesson对象。
于是我们这样获取值beatles.vacalist.name,beatles.vacalist.year 五.操作: (1)算数操作运算符(+ - * / )(2)字符串拼接运算符(+)。so:10 + 20 ---30;"10" + 20 --- 1020;(3)另外一个特殊的很好用的是+=,如:var year=2000;var message = "this is "; message += year;---"This is 2000"; 六. 条件语句、循环语句、函数(函数有点区别):略(于C、C++、Java差不多) 七.变量的作用域:
全局变量:可以在脚本任何位置引用。
局部变量:存在于指定函数内部。在函数内部,使用var关键字的变量一定是局部变量,而没有使用的这是全局变量。 function square(num) {
total = num * num;//total为全局
return total;
}
var total = 50;
var number = square(20);//改变total,因为其实全局的。
alert(total);//400
function square(num) {
var total = num * num;//改成这样就安全了
return total;
}
八:对象:一个对象包含属性和方法,都可以通过.来访问属性和方法。 内建对象(其实应该成为类):Array().可以使用new关键字来创建var beatles = new Array();还有Date类、Math类。 宿主对象():也即是JS寄生的环境,如浏览器环境,则此时有浏览器提供的对象被成为宿主对象,Form、IMage、Element、document
总结:JS对对象的定义有点奇葩,这里总结下,首先同意观点,可以把它所说的对象看成类,而实例化对象的方法有两种,一种是使用关键字如Array()、Object()等即可,一种是
最通用的显示的使用new关键字,进行对象的创建如new Array()等。