Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。
(1) 是一种解释性脚本语言(代码不进行预编译)。
(2) 主要用来向HTML页面添加交互行为。
(3) 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
(1) 嵌入动态文本于HTML页面
(2) 对浏览器事件作出响应
(3) 读写HTML元素
(4) 在数据被提交到服务器之前验证数据
(5) 检测访客的浏览器信息
(6) 控制cookies,包括创建和修改等
(1)数据类型
Javascript数据类型分为两大类:
原始类型:变量的值存放在栈中,访问变量时可直接访问到变量的值,包括 Undefined、Null、Boolean、Number、String 五种。
引用类型变量在栈中存放的是指针,其值另外存放在堆中,需要通过指针才能访问。所有对象都是引用类型,包括 Boolean、Number、String、Array、Date、Math 等。
(2)变量:
JavaScript中的变量声明用关键字 var 引导,变量的类型取决于它的声明方式。
声明原始类型的变量:
var 变量名 = 值;
声明引用类型的变量:
var 变量名 = new 类型名(初值);
(3)运算符
算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、++(增量)、--(减量)、-(取负)。
逻辑运算符:&&(与)、||(或)、!(非)。
比较运算符:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)、===(严格相等)、!==(不严格相等)。
注:“相等”只要求值相等,“严格相等”要求值相等且类型相同。如:1=="1" 是 true,而 1==="1" 是 false。
位运算符:&(位与)、|(位或)、^(位异或)、~(按位取反)、<<(左移)、>>(右移)、>>>(填0右移)。
赋值运算符:=(赋值)、op=(运算赋值)。
注:运算赋值中的运算符可以是算术运算符或位运算符。如:“x+=10”表示“x=x+10”。
条件运算符:条件 ? 表达式1 : 表达式2
注:若条件为 true,值为表达式1的值,否则为表达式2的值。
字符串连接运算符:+、+=。
如:"every"+"one" 的结果为 "everyone"。
注:连接的项目中可以包括字符串、常量、变量,不需要都是字符串,只要项目中有一个是字符串就会按字符串进行连接。
如:"ex"+20+"b" 的结果为 "ex20b"。
new 运算符:
用于创建一个对象。如:new Array() 表示生成一个数组对象。
delete 运算符:
用于删除一个对象。
(4) 语句
与其他语言一样,包括赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do...while循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、if语句(if..else,if…else if…)。
(5) 函数
JavaScript函数用关键字 function 定义。定义格式:
function 函数名(参数表)
{
函数体
}
函数是通过函数调用来执行的。
函数名(实际参数)
函数可以有一个返回值,有返回值的函数可以作为表达式使用。
return 表达式;
在函数外边定义的变量为全局变量,它们一直存在,在函数内和函数外都可以使用。
在函数内部定义的变量如果使用了 var 修饰,为局部变量,它们只在函数内有效,离开函数后就不存在了。如果函数内定义的变量没有用 var 修饰,则为全局变量。
(6) 对象
一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。
这是目前看到的,后面还要好好总结。