Java EE之旅03 JS基础(上)

257 阅读3分钟

###JS学习大纲

js.jpg

###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)内嵌脚本
		<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]);
	 }