概述
JavaScript与Java没有什么关系,JavaScript是嵌入HTML执行的脚本语言,它是解释型语言
JS是弱类型基于对象的,它对变量的定义没有C和Java严格,类似Python
基础语法
JavaScript没有打印或者输出的函数,如果要显示数据可以通过以下的语句来实现
window.alert()
弹出windows警告框
document.write()
将内容写到HTML文档之中
innerHTML
写入到HTML元素(通常需要配合获取HTML元素的方法使用)
console.log()
写入到浏览器的控制台
<script></script>
JS嵌入到HTML中,如果某段脚本有语法错误,只是这段脚本会报错,对于
其他的脚本不会有影响,并且网页也可以正常显示
变量与数据类型
var(可加可不加) 变量名 = 初始化数值;
JS变量声明弱类型,传入的数值不同数据类型会相应改变
JS里的基本数据类型有:
- String字符串
- Number数字
- Boolean布尔类型
- Null空
- Undefined未定义
- Symbol独一无二的值
JS里的引用数据类型有:
- Object对象
- Array数组
- Function函数
typeof
关键字:获取一个变量的类型
对于引用数据类型,往往还需要instance of
关键字
数据类型转换
String(100 + 23) // 返回 "123"
String(true) // 返回 "true"
String(new Date())// 返回 "Tue May 14 2019 11:06:28 GMT+0800 (中国标准时间)"
String([10,20]) // 返回 "10,20"
String(null) // 返回 "null"
原始值 转换为数字 转换为字符串 转换为布尔值
false 0 "false" false
true 1 "true" true
0或"0" 0 "0" false
1或 "1" 1 "1" true
"000" 0 "000" true
NaN NaN "NaN" false
"" 0 "" false
"字串" NaN "字串" true
[ ] 0 "" true
[10,20,30] NaN "10,20,30" true
function(){} NaN "function(){}" true
{ } NaN "[object Object]" true
null 0 "null" false
undefined NaN "undefined" false
常⻅类型转换:
Number("3.14") // 返回 3.14
Number("3.14abc") // 返回 NaN
parseFloat("3.14")//返回 3.14
parseFloat("3.14abc")//返回 3.14
parseFloat("b3.14abc")//返回 NaN
parseInt("3.14") //返回 3
parseInt("3.14abc")//返回 3
parseInt("b3.14abc")//返回 NaN
运算符
跟其他语言相差不多,主要注意JS里的==
比较的是值,而Java里比较的是内存地址
还有===
是比较值,并且比较类型,!==
也是比较值同时比较类型,其中一个不相等则不等
forin
类似Java里的forEach,不过JS里的用法似乎更灵活
var ob = {"name":"张三","age":22,"sex":"男"};
//遍历对象ob中的每个属性
for(key in ob){
//输出属性和对应的属性值
console.log(key+":"+ob[key]);
}
函数
函数的定义,第一种定义方式:
function 函数名([参数列表..]){
函数体。。。
[return 返回值;]
}
第二种定义方式:
var 函数名 = new Function(“参数1”,”参数2”,”参数3”……”函数体”);
第三种定义方式:
var 函数名 = function(参数1,参数2,…){函数体};