一个完整的js是由ESMAScript、Dom、Bom组成的
⭐1.js是弱类型语言
a.类型后定义
b.声明变量取决于等号后面
c.给同一个变量进行多次赋值,后面的值会覆盖前面的值
2.java是强类型语言
一、js的特点:
a.js是脚本语言(不需要编译,浏览器直接识别)
b.js是解释性语言,逐行解释、哪行报错、这行往下的代码就不会执行,但不影响上面的代码执行
(*⃣️js阻塞)
c.js是一款安全性语言
d.js具有跨平台性
二、js的引入方式 → 可以同时存在,但不能互相嵌套
a.内部引入 script
b.外部引入script src
①不能嵌套内部引入
②不能直接在标签内写js代码
三、输出语句:(作用:1.输出变量的值,输出某些内容的值;2.排错)
*⃣️a.弹框工具:alert( );
b.页面输出工具:document.write( ); → 可以识别标签(不常用)
*⃣️c.控制台输出工具(打印):console。log( );→ 缩写:log
四、变量:
1.声明变量:关键字:var
⭐2.基本数据类型:
a.数字类型:num
b.字符串类型:string → str(" ");
c.布尔类型:boolean(bool) → true flase
d.空值:null → 有值,但值是空的
作用:①并不知道要定义什么类型 ②清空变量
e.未定义:undefined(un)→ 声明出来了变量,但并未被赋值(var un;)
3.利用typeof来检测当前变量是什么数据类型
a.typeof+空格+变量
b.typeof(变量)
null类型typeof出来的是object
⭐4.数据类型之间的运算
a.①num类型和string类型相加会拼接
var num01 = 12;
var num02 = "3";
var num03 = "哈哈哈";
console.log(num01+num02);
→123
console.log(num01+num03);
→12哈哈哈
②num类型和string类型里面的数字进行相减时,运算的时候,会将string类型转为num类型在进行运算(隐式类型转换)入股string类型里面是文字,最后运行的结果是NaN
var num01 = 55;
var num02 = "5";
console,log(num01-num02);
→50
b.bool类型中,true代表1,false代表0
c.num类型和null类型(undefined类型)进行运算的时候。如果未给null类型(undefined类型)定义值,则最后运行的还是num的值;如果给null类型(undefined类型)定义值,则最后运行的就是他们拼接后的结果
5.变量的命名规范:
a.区分大小写
b.结尾分号一定要加
c.不可以使用关键字命名
d.要有意义
e.不能以数字开头,尽量使用字母、下换线、$
五、DOM阻塞:
js代码可以写在①head ②body里面 ③body外面
六、js中==和===的区别:
① ==是非严格相等比较,会进行类型转换
===是严格相等比较,不进行类型转换
② ==只判断数值而不判断数据类型,可以自动转换为数据的类型。
===又判断数值,也判断数据类型,不可以自动转换数据的类型。
七、声明变量哪些关键词不能用:(例举几个)