JS学习大纲
js.jpgJS简介
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)内嵌脚本
<input type="button" value="button" onclick="alert('xxx')" />
(2)内部脚本
<script type="text/javascript">
alert("xxx");
</script>
(3)外部脚本
首先先创建一个js文件
其次在html中引入
<script type="text/javascript" src="demo1.js"></script>
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标签跳转)
<a href="javascript:void(0);">xxxxxx</a>
(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]);
}
网友评论