时间:2016-10-25 19:05
1、JavaScript简介
JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。
特点:
交互性:信息的动态交互
安全性:不可以直接访问本地硬盘
跨平台性:只要是可以解析JS的浏览器都可以执行,与平台无关
基于对象:
提供了很多对象,而已直接使用。
事件驱动:
HTML做出的网站都是“静态效果”,而JavaScript可以实现“动态”效果。
客户端:
指浏览器。
JS与Java的区别:
JS是网景公司开发的一种脚本语言,可以在所有的主流浏览器中运行。
JS是基于对象的,而Java是面向对象的。
JS只需要解析就可以执行,而Java需要先编译成字节码文件,再执行。
JS是一种弱类型语言,而Java是一种强类型语言。
JavaScript语言组成:
核心:ECMAScript
ECMA(欧洲计算机协会),JS语法由该组织制定。
文档对象模型:DOM
Document Object Model
浏览器对象模型:BOM
Browser Object Model
2、JavaScript与HTML结合方式(两种)
第一种:
第二种:使用script标签引入外部js文件。
但是,当引入外部js文件时,script标签内不能再写其他的js代码。
3、JavaScript原始类型和声明变量
基本语法:
变量、函数、运算符区分大小写。
变量是弱类型的:(原始类型)
var b = true;
var c = "hello world";
五种原始类型:
string、number、boolean、null、undifined
null表示对象引用为空。
undifined表示定义了变量但是没有赋值。
每行结尾的分号可有可无,建议编写。
两种类型的注释:
单行注释:// 注释内容
多行注释:/* 注释内容 */
typeof运算符:
通过typeof()运算符,可以查看变量的类型,typeof(变量名),所有引用的类型都是object。
通过instanceof运算符可以解决typeof对象类型判断的问题。
区分undefined和null:
变量定义了未初始化或者访问对象不存在的属性,会出现undefined。
访问的对象不存在时,会出现null。
全局变量和局部变量:
全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用
局部变量:在方法内部定义一个变量,只能在方法内部使用。
4、JavaScript的语句
if、switch、for、while、do-while
switch语句:
JDK1.7版本之后支持了String类型,而JS中支持所有的数据类型。
5、JavaScript的运算符
JavaScript中不区分整数和小数,所以除法中没有整数,会出现小数。
alert(123 / 1000 * 1000);,输出结果为123。
字符串与数字相加,是字符串连接,如果是相减,则字符串直接转换成数字再进行相减。
boolean类型可以进行运算,false是0或者null,非0或非null是true,默认用1显示。
NaN:
not a number:非数字。
属于number类型。
用来表示数值的一种状态,一种不正常的状态。
一般情况下会在计算出现错误的时候出现。
判断当前的数据类型是否是NaN的关键字:isNaN()
如果结果是非数字:true
如果结果是数字:false
==和===的区别:
==判断的是值,和类型无关。
===既判断值,又判断类型。
6、99乘法表示例
7、JavaScript数组
三种定义方式:
var arr = [1, "2", true];
var arr = new Array(5);
var arr = new Array(1,2,3);
数组有length属性。
数组的长度是可变的。
数组可以存放不同类型的数据。
8、函数
普通函数:
function method(){ }
function method2(a, b) { return a + b;}
参数列表中不需要写var,直接写变量名。
匿名函数:
var add = function method(a, b) { return a + b; }
通过add(1, 2);进行调用。
内置对象:(动态函数)
使用到js中的一个内置对象:Function
var add = new Function("参数列表", "方法体和返回值");
var args = "";
var body = "";
var add = new Function(args, body);
9、script标签放置的位置
理论上可以放在任意位置。
不过由于HTML解析是由上到下的,所以通常情况下放在