JS基本特点:
a'解释型脚本语言 ——1、程序不需要编译;2、运行时才翻译成机器语言;3、每执行一次就要翻译一次。(效率低;跨平台)
b'弱类型语言——变量无须声明。用
var
定义变量;计算机会根据内容自动判断数据类型以及分配内存的大小。
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译为机器语言的文件,运行时不需要重新编译,直接使用编译结果就行了。(效率高,一来编译器)
JS执行流程从上到下,而且是阻塞的方式执行。
在HTML中嵌入JS代码:1、直接在元素里面嵌入;
<
a
href=
"javascript:
alert
(11111);"
>
执行JS
</
a
>
<
p
οnclick=
"
alert
(
123
)
"
>
嵌入JS
</
p
>
2、<
script
>标签
<
script
>
alert
(
"执行JS"
);
</
script
>
3、引用外部js<
script
src=
"JS.js"
type=
"text/javascript"
></
script
>
数据类型:
基本类型 number(数);boolean;
string
(值用引号括起来);undefined(已定义但未初始化值的变量) ;null(变量值为空)
引用类型 1、原生对象:由JS提供的、独立于宿主环境(浏览器)的对象。 2、内置对象:本质上也是一种原生对象,但不需要显示的初始化,因为它已经初始化了。----Global和Math。
Global无法直接访问,提供了一些方法和属性;它将所有的全局方法收集在一个对象中,直接访问对象的属性和方法。eval(字符串)--将字符串转换成JS代码。
Math 可以直接使用。
3、宿主对象:与宿主环境(浏览器)有关的对象。
JS页面加载的过程中会先将基本数据和引用数据类型加载到内存;执行到初始化代码才会赋值。
数组Array();一个值代表空间大小,传多个值表示初始化数据;数组按下标排序,数组中元素无类型限制。数组用+相加得到的是字符串;用concat()是连接成一个数组。arr1+arr2 = string; arr1.concat(arr2) = arr3
JS正则表达式对象:
获取对象--(方式1)var reg=/^表达式$/; ^开始。$结束
(方式2)var reg= new RegExp(^表达式$);
匹配表达式--reg.test(待匹配项);符合则为true,不符合返回false。
JSON 在JS里面表示一个非常小的对象,用于存储数据;轻量化对象。一对{}表示一个json对象;{}以键值对形式存储。 var j={"user":"wang","pwd":123}
JS数据类型转换(NaN表示非数字)
任何数据类型与string相加,得到一个string "20"+"10"="2010"
其他运算符操作,会自动转换为数字 "20"-"10" = 10;"20"-"a"=NaN