阅读javascript高级程序设计随笔(一)
1.引入javascript的方式
引入javascript的代码方式有两种:第一种是直接在页面中嵌入javascript代码;第二种是外部引入javascript代码。
第一种方式:
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>直接在页面引入javascript</title> </head> <body> </body> <script type="text/javascript"> function say () { alert("hello javascript!"); } say(); </script> </html>
第二种方式:
创建一个c.js文件内容如下:
function say () {
alert("hello javascript!");
}
say();
在html文件的代码如下:
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>直接在页面引入javascript</title> <script type="text/javascript" src="c.js"></script> </head> <body> </body> </html>
<script>元素可以放在html代码的任意地方。当javascript的代码放在head元素里面,需要注意加上window.onload,才能有效获取到,页面的内容。因为解析器是从上往下地一条一条读取指令,而javascript的代码在页面内容之前,所以无法获取到页面的内容。window.onload就是等页面资源加载完成后,加载javascript的代码。
在编写javascript的代码过程中,不能出现字符串"</script>"。因为浏览器遇到字符串"</script>"就认为javascript代码结束。
2.基本概念
2.1标识符
标示符,就是指变量、函数、属性的名字,或者函数的参数。javascript的命名规则和其他语言差不多。
Ⅰ第一个字符必须是一个字母、下划线或者是一个美元符号;
Ⅱ其他字符可以是字母、下划线、美元符号或数字。
javascript在命名时,一般采取驼峰式写法,也就是第一个字母小写,剩下的每个单词的首字母大写。
2.2注释
javascript有两种注释方式:一种是行注释,另外一种是多行注释;
行注释:
//行注释
多行注释:
/*
*多行代码注释
*
*/
2.3语句
javascript的语句是以分号结束;如果省略了分号,就由解析器确定语句的结束,建议任何时候都不要省略分号。
2.4关键字和保留字
javascript的关键字和保留字不能用作标识符。以下就是ECMAScript的全部关键字:
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this with
default if throw
delete in try
ECMA-262的保留字:
abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public
在严格模式下,不能以eval和arguments命名。
3.3变量
javascript的变量时松散类型,可以用来保存任何类型的数据。
定义变量是使用的var操作符,后面跟一个表示符。如下所示:
var a;
javascript在修改变量的值同时也可以修改值得类型
var a = "hello";
a = 5;
虽然这个过程在javascript中有效,但是不推荐这种写法。
在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁。
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>函数退出后,使用函数里的参数</title> </head> <body> </body> <script type="text/javascript"> function test(){ var message = "hi"; } test(); alert(message); </script> </html>
这个操作在谷歌浏览器中报了一个Uncaught ReferenceError: message is not defined的错误。