首先,学习JavaScript有什么作用呢?
1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)
2.实现页面与用户之间的实时、动态交互(如:用户注册、登陆验证等)
变量定义
var i = 0;
【注】定义变量时不需要指定类型,以上变量i可表示任何数据类型!
可以将i重新赋值为:
i = true; i = “abc”; i = new Date();
数据类型
基本数据类型
string(无char) , number , boolean
(所以单引号和双引号无影响)
复合(引用)数据类型
Object , Array
特殊数据类型
null , undefined
【注意】
- JS中没有整数,浮点数,均为number类型
- 与java不同的是, string类型为基本数据类型,不是object类型
- 大小写敏感
- 换行分号可加可不加
- 注释 单行// 多行/**/
- 数据类型中的特殊数值
Infinity—无穷大
NaN—特殊的非数字
字符串与数字之间的转换
1+‘2’//12
‘2’*’3’//6
parseInt(‘3a’)//3
parseInt(‘a3’)//NaN
null和undefined
null:
var s = null;
无值/无类型/无对象 看作对象类型(typeof检测)
typeof(null)//”object”
null用于布尔环境 <=> false
用于数字 <=> 0
用于字符串环境 <=> null
undefined:
var s = undefined;
是一个值。ECMA V3中将其声明为了关键字。
一般在使用并未声明的变量时得到此值。
运行:var a; alert(a);
布尔环境 <=> false
数字环境 <=> NaN
字符串环境 <=> undefined
变量作用域
if(1 < 2){
var a = 0;
}
alert(a);//0
function f(){
var a = 10;
}
alert(a);//undefined
//变量的作用域在其被定义的函数范围内,而不是代码块!
操作符
JavaScript中有很多这样的操作符,例如,算术操作符(+、-、*、/等),比较操作符(<、>、>=、<=等),逻辑操作符(&&、||、!)。
算术操作符除了(+、-、*、/)外,还有两个非常常用的操作符,自加一“++”;自减一“–”。
操作符之间的优先级(高到低):
算术操作符 → 比较操作符 → 逻辑操作符 → “=”赋值符号
(如果同级的运算是按从左到右次序进行,多层括号由里向外)
注意: “=” 操作符是赋值,不是等于。
相等规则:
在等号比较前:
true会转换成数字1, false会转换成数字0.
null==undefined//true
如果能转换为相等,则二者相等。如:
1==‘1’ 1==true ‘1’==true //true
new String(‘abc’) == ‘abc’//true
执行:new String(“abc”) == new String(“abc”) //false
(对象与对象比较都为false)
JS使用方式有两种:
一种是外调,另外一种是内嵌
第一种
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得年份 ,月份</title>
<script src="new.js">
</script>
</head>
<body>
</body>
</html>
/*new.js*/
var mydate=new Date();
var myyear=mydate.getFullYear();
var mymonth=mydate.getMonth()+1;
document.write("年份:"+myyear);
document.write("月份:"+mymonth+"<br/>");
document.write(mydate);
运行结果:
年份:2017月份:12
Wed Dec 20 2017 19:28:43 GMT+0800
第二种
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> 事件</title>
<script type="text/javascript">
function count(){
alert(1)
var s1=parseInt(document.getElementById("txt1").value);
//获取第一个输入框的值
var s2=parseInt(document.getElementById("txt2").value);
//获取第二个输入框的值
var s3=document.getElementById("select").value;
//获取选择框的值
var result;
alert(s1)
alert(s2)
alert(s3)
switch(s3){
case '+':
result=s1+s2;
break;
case '-':
result=s1-s2;
break;
case '*':
result=s1*s2;
break;
case '/':
result=s1/s2;
break;
}
//获取通过下拉框来选择的值来改变加减乘除的运算法则
document.getElementById("fruit").value=result;
//设置结果输入框的值
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value='-'>-</option>
<option value='*'>*</option>
<option value='/'>/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>
【注意】
JS是区分大小写的,如:classname和ClassName是不一样的。同时注意方法、属性、变量等的大小写吆。
JS中的字符、符号等一定要在英文状态下输入吆。