使用<script>元素的方式有两种:
- 直接在页面中嵌入JavaScript代码,代码从上至下依次解释。
<script type="text/javascript">
function sayHi() {
alert("Learn JS!");
}
</script>
- 包含外部JavaScript文件。使用scr属性来指向外部JavaScript文件,这个文件可以是外部文件,也可以是外部域文件。但是使用外部域文件时,一定要确保安全,否则会被恶意篡改。
<script type="text/javascript" scr="test.js"></script>
<script type="text/javascript" scr="http://www.somewhere.com/afile.js"></script>
<script>的属性
- scr -- 存储外部JS文件
- defer(延迟脚本) -- 设置defer属性,可以让脚本在文档完全呈现之后再执行,延迟脚本总是按照指定它们的顺序执行
- async(异步脚本) -- 可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行
JS语法
- 区分大小写
- 标识符: 字母、下划线或美元符号开头,其他字符是字母、下划线、美元符号或数字
- 代码块以左花括号({)开头,以右花括号(})结尾
- ECMAScript中的语句以一个分号结尾
- 注释
function sayHi() { //代码块以{}花括号开始结尾
alert("Learn JS!"); //分号结尾
}
// 单行注释
/*
多行注释
*/
- 关键字: 可用于表示控制语句的开始或结束,或者用于执行特定操作等,不可用于标识符
- 保留字: 可能在将来被用作关键字
JS 变量 + 数据类型
- 变量:
ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。即每个变量仅仅是一个用于保存值的占位符而已。
var test;
关键字 变量名(标识符);
- 数据类型:
5种基本(简单)数据类型:Undefined、Null、Boolean、Number和String
1种复杂数据类型:Object, 本质上是由一组无序的名值对组成的 - typeof 操作符:
用来检测给定变量的数据类型
alert(typeof(95)) //"bumber"
var message = "Hello JS"
alert(typeof(message)) //"string"
Object类型(对象)
对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象。
var o = new Object();
语句
- If else
- do while
- while
- for
- for - in: 每次执行循环时,都会将window对象中存在的一个属性名赋值给变量propName。这个过程会一直持续到对象中的所有属性都被枚举一遍为止。
for(var propName in window){
document.write(propName)
}
- break/continue
- switch
- label: 使用label语句可以在代码中添加标签,以便将来使用。以下是label语句的语法:
start: for (var i=0; i<5; i++){
alert(i)
}
- with:接收的是location对象,因此其变量对象中就包含了location对象的所有属性和方法
函数
- ECMAScript函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。
- 没有函数重载
function 函数名(参数1,参数2){
函数体;
}
注意:
- JavaScript没有块级作用域
- 在编写JavaScript代码的过程中,不声明而直接初始化变量是一个常见的错误做法,因为这样可能会导致意外。我们建议在初始化变量之前,一定要先声明,
网友评论