###JS学习大纲
###JS简介
####1、js是什么
js是可以嵌入到html中,是 基于对象 和 事件驱动 的 脚本语言(不用编译(解释性语言),可以嵌入其它语言)特点: (1)交互性 (2)安全性:js不能访问本地磁盘 (3)跨平台:浏览器中都具备js解析器复制代码
####2、js能做什么
(1)js能动态的修改(增删)html和css的代码(2)能动态的校验数据复制代码
####3、js历史及组成
JS最初由网景公司创造,JS基本组成包括: 1)核心(ECMAScript):描述了JS的语法和基本对象 2)浏览器对象模型(BOM):与浏览器交互的方法和接口 3)文档对象模型 (DOM):处理网页内容的方法和接口ECMAScript:ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准。 ECMAScript 规范定义了一种脚本语言实现应该包含的内容;但是,因为它是可扩充的,所以其实现所提供的功能与这个最小集相比可能变化很大。ECMAScript 是一种开放的、国际上广为接受的脚本语言规范。 它本身并不是一种脚本语言。正如在 Web 应用程序中执行有用操作的 bean 集合(例如,Netscape 的 AWT)是 Sun 的 JavaBean 规范的一种实现一样,JavaScript 是 ECMAScript 规范的一种实现。复制代码
4、js被引入的方式
(1)内嵌脚本 (2)内部脚本 (3)外部脚本 首先先创建一个js文件 其次在html中引入 js代码放在哪? 放在哪都行 但是在不影响html功能的前提下 越晚加载越好 (页面一下载就需要JS代码除外,例如ajax读取数据库)复制代码
###js基本语法
####1、变量
(1)弱类型var x = 5;x = 'javascript';var y = "hello";var b = true;(2)全局变量的定义x = 5;复制代码
####2、原始数据类型
(1)number:数字类型(2)string:字符串类型(3)boolean:布尔类型(4)null:空类型(5)underfind:未定义注意:number、boolean、string是伪对象类型转换: number\boolean转成string toString(); string\boolean转成number parseInt() parseFloat() boolean不能转 string可以将数字字符串转换成number 如果“123a3sd5” 转成123 强制转换 Boolean() 强转成布尔 数字强转成布尔 非零就是true 零就是false 字符串强转成布尔 非“”(空字符串)就是true 空字符串“”就是false Number() 强转成数字 布尔转数字 true转成1 false转成0 字符串转数字 不能强转复制代码
####3、引用数据类型
这里主要与Java做一个比较:java: Object obj = new Object();js: var obj = new Object(); var num = new Number(); 复制代码
####4、运算符
(1)赋值运算符 var x = 5;(2)算数运算符 + - * / % +: 遇到字符串变成连接 -:先把字符串转成数字然后进行运算 *: 先把字符串转成数字然后进行运算 /: 先把字符串转成数字然后进行运算(3)逻辑运算符 && ||(4)比较运算符 < > >= <= != == ===:全等:类型与值都要相等(注意)(5)三元运算符 3<2?"大于":"小于"(6)void运算符(主要作用是:防止a标签跳转) xxxxxx(7)类型运算符 typeof:判断数据类型 返回我的数据类型 instanceof:判断数据类型 是否是某种类型 例子: var obj = new Object(); alert(typeof obj);//object alert(obj instanceof Object);//true复制代码
####5、逻辑语句
这里与Java一样,不再赘述。
(1)if-else //条件: //数字非0 字符串非空====true if(9){ alert("true--"); }else{ alert("false--"); }(2)switch var x = "java"; switch(x){ case "css": alert("css"); break; case "js": alert("js"); break; case "java": alert("java"); break; default: alert("def"); }(3)for for(var i = 0;i<5;i++){ alert(i); }(4)for in var arr = [1,3,5,7,"js"]; for(index in arr){//index代表下标 //alert(index); alert(arr[index]); }复制代码