书写位置
嵌入式
在html里放哪都可以
<script></script>
外链式
在HTML里放哪都可以
<script src="js路径"></script>
外链式属性
共同点:都是异步加载
defer 先加载完html再执行js
async 当js加载完立即执行
javascript和ECMAScript的关系
ECMAScript是JavaScript的标准
注释
单行注释 //
多行注释 /* */ (同css一样)
html注释 <!--><-->
输入输出语句
alert("123");在页面弹出一个警告框,括号里的内容显示在框内
console.log("222");在控制台打印出括号里的内容
prompt("请输入姓名");在页面弹出一个小框,括号里的内容显示在小框中,小框里还有个输入框
document.write("你好世界");在页面打印出括号里的内容
confirm("你确定吗?");在页面弹出一个确认框
定义一个变量和赋值
var a;定义一个变量a
定义变量的同时赋值
变量命名
数字.字母.下划线.$,不能以数字开头,不能使用关键字.保留字
变量提升
js解析器在解析代码时会进行预解析,
当看到var时,会默认将这些变量声明出来,
声明变量的代码写在赋值代码的前面,叫做变量提升
注意:不用var的变量是不会进行提升的
七种原始数据类型
String Number Null Array Boolean Undefined Object
基本数据类型
string
number
boolean
undefined
复杂数据类型
null
function
array
symbol
typeof-判断数据类型
console.log( typeof(123) ) 有括号
console.log(typeof 123) 无括号 带空格
隐式类型转换
底层还是强制类型转换
预期为某个类型的值,在进行转换时就调用某个类型的函数
"123"+"true" 返回"123true" +起拼接作用
"123"-true 返回122
遇到预期为数值的地方,调用Number()函数进行转换
注 意: +在进行运算的时候会将运算子进行连接
123+"478" 返回123478
15+true 返回16
33-false 返回32
null-1 返回0
undefined-8 返回NaN
自动转为Bollean值
在if语句中,预期值为布尔值,将调用Boolear函数进行转换
undefined null 0 1 NaN ""空字符串
自动转为数值
运算符
一元运算符
++,-- 变量参与运算时,运算符在变量前,先进行递增.递减再进行赋值运算,运算符在变量后,先进行运算再进行递增.递减
delete 用于删除对象的属性
! 逻辑非 !true 返回false
!! 负负得正 !!true 返回true
算数运算符
+
-
*
/
%取余
关系运算符(比较运算符)
>
<
=
>=
<=
!=不等式运算符
!==全不等运算符
==等式运算符
===全等式运算符
强制类型转换
Boolean(value)把给定的值转换为布尔值
①字符串转换为boolean值,除空字符串为false,其余都为true
②数字转换为boolean值,除0为false,其余都为true
③undefined转boolean值为false
④null转boolean值为false
Boolean("")//false(空字符串)
Boolean({})//true (对象)
Boolean(Symbol("foo")) //true
Number(value)把给定的值转换为数字
①Number(false) //0
②Number(true) //1
③Number("") //0 空字符串
④Number("shhsuifdh") //NaN
⑤Number(undefined) //NaN
⑥Number(null) //0
⑦Number( [] ) //0 空数组
⑧Number( [5] ) //5
⑨Number( [1,2] ) //NaN
⑩Number("456suifdh") //NaN
⑩+① Number( {} ) //NaN
Number强制类型转换和parseInt的区别
1: Number在转换数字时,里面如果包含字母,将返回NaN
2:parseInt在转换数字时,只要字母不在开头,就直接返回字母前面的数字
String(value)把给定的值转换为字符串
括号里是什么内容就输出什么内容
其他显式的转换方式
toString 转换为字符串
①true.toString //true
②12.toString //报错 将点号视为小数点
③12.5.toString //12.5
④undefined.toString //报错
⑤null.toString //报错
⑥symbol.toString() //"function Symbol() { [native code] }"
转换为数值
parseInt()
将数值转换为整数
parseInt("45.1") 返回45
parseInt("457add")返回457
parseInt("ac778")返回NaN
parseFloat
将数值转换为浮点数
parseFloat(12.45.55) 返回12.45