第1章 JavaScript基础语法
2019-04-26 本文已影响0人
yangsg
1. JavaScript的简介和特点
1.1 简介和特点
JavaScript(简称JS)是一个脚本语言,它是解释执行的(区别于Java的半编译半解释)。是一种“弱类型”的语言。
强类型:Java是一种强类型的语言,声明变量的时候必须指明变量的类型,比如
int a = 32;
a = "haha"; //错误,变量类型一旦声明后不可更改
弱类型:JS是一种弱类型的语言,变量本身没有类型,变量的类型取决于它的赋值,声明变量使用var关键字
var a = 32;
a = "haha"; //正确,可以通过赋值改变变量的数据类型
1.2 在HTML中引入JS的方式
- 内联方式(极少使用)
在标记的事件中直接编写JS代码
<input type="button" value="测试1" onclick="alert('哈哈');"/>
- 嵌入方式
在页面文件的<script></script>代码块中编写JS代码
<script type="text/javascript">
alert("abc");
</script>
- 外联方式(商业使用推荐外联)
将JS代码编写在外部的.js文件中,通过<script>将外部JS引入
myscript.js
alert("xyz");
xxx.html
<script src="js/myscript.js" type="text/javascript" />
2. JavaScript的数据类型
JS本身是弱类型的语言,变量本身没有类型的概念,变量类型是根据赋值决定。
JS中的数据的类型
- Number类型:数字类型,包括整数,浮点数,NaN和Infinity
NaN:是Not A Number的缩写,数字类型的“非数”
Infinity:无穷大,一般出现在除数为0的情况 - String类型:文本类型,表示字符串,可以使用单引号或双引号表示。
- Boolean类型: 布尔类型,表示逻辑真和假
- Null类型: 表示空
- Undefined类型:表示未定义类型,通常出现在声明变量但未赋值的情况。
- Object类型:对象类型,包括数组(Array),日期(Date),函数(Function),对象(Object)...
typeof函数
可以利用typeof(a)得到变量a的类型字符串
var a = 32;
var b = typeof(a);//得到a的类型的字符串表示“number”
alert(b);
数据类型转换
做比较操作时(==),boolean值会被作为数字看待,数字内容的字符串也可以看做数字看待
var b = true;
if(b == 1){
alert("真");
}else{
alert("假");
}
b当做数字看待(true-1,false-0),得到结果“真”
var s = "1";
if(s == 1){
alert("真");
}else{
alert("假");
}
s当做数字看待,得到结果“真”
==的作用:比较数据内容是否相等,忽略了数据类型
如果需要严格比较内容和数据类型,请使用===
var b = true;
if(b == 1){
alert("真");
}else{
alert("假");
}
var s = "1";
if(s === 1){
alert("真");
}else{
alert("假");
}
都会得到“假”结果
转换规则
各个数据类型参与运算或表达式的规则:
- 任何类型与字符串类型相加,得到字符串
- 进行四则非加法运算时,所有类型都会转换为数值类型计算
使用显式的类型转换
- Number(str); 将str字符串转换成数值类型
- 加空字符串形式: 将其他类型转换成字符串
- boolean:直接参与数值运算即可 true相当于1,false相当于0
var s = "1";
s = Number(s); //字符串->数字
if(s == 1){ //类型统一了,使用==和===效果是一致的
alert("真");
}else{
alert("假");
}
3. JavaScript的运算符
除了==和===理解与Java语言不一致,剩下运算符与Java一致。参考Java的第二章理解
4. JavaScript的条件和循环
与Java一致,参考Java的第三章理解
初学者经常写错的循环中的变量声明
Java
for(int i = 0; i < 10; i++){
}
JavaScript
for(var i = 0; i < 10; i++){
}
5. JavaScript的函数
JavaScript相当于Java中的方法或者类,本章节讲解当做方法来使用
Java的方法
public int haha(int a, int b){
return a+b;
}
JS的方法
function haha(a, b){
return a+b; //由return语句决定返回值的数据类型
}
Java的方法调用
int x = haha(2,3);
JS的方法调用
var x = haha(2,3);