javascript基础
包含ecmascript,DOM ,BOM事件,各种API
语言特征
脚本语言
解释型语言
弱类型语言
数据类型
基本数据类型 原始值 值类型
number 数字
string 字符串
undefined 未定义
boolean 布尔值
null 空值空对象
引用数据类型 对象(无序集合)
为什么要分为基本数据类型和引用数据类型 二者有何区别?
1.基本数据类型直接在栈内存中保存数据值,按值访问,数据类型的变量与变量之间是独立存在的,修改一个变量不会影响其他变量
2.引用数据类型是保存数据的内存地址而不是数据本身,当两个变量保存的是同一个数据对象,则其中一个变量的属性发生变化,另一个也随之发生变化。当比较数据时:基本数据比较的是**数据值的大小**;而引用型数据比较的是**保存数据的内存地址——**若两个变量的数据一模一样,但内存地址不同,则会返回false。
输入输出:
alert ()警告框 无返回值
confirm () 确认框 返回值为true或false
prompt() 可输入对话框,点确定返回输入值,取消返回null
document.write(' ') 将内容输出到网页
数据类型转换(强制和隐式)
强制类型转换
parseInt() 转换为整型数字 从第一位看是否是一个数字 如果是则提取 碰到不是则舍去
如果第一位就不是一个数字 则直接抛出NaN ( Not a Number) 不是一个数字
paresFloat() 转换为浮点型(保留小数点)
Number() 看整体是否是全数字 如果有一位不是 直接抛出NaN
String()数字转字符串
Boolean()布尔类型
// console.log( Boolean(0) ); false
// console.log( Boolean(null) ); false
// console.log( Boolean(false) ); false
// console.log( Boolean(1) ); true
// console.log( Boolean('') ); false
// console.log( Boolean(' ') ); true
// console.log( Boolean(' ') ); true
// console.1og( Boolean('0') ); true
隐式类型转换
console. log(1+true); 2
console . log(1+Number(true)); 2
运算符
算术运算符 +,-,*,/,%,++
精度问题?
// console. log(0.1+0.2); 不等于0.3
// console. log(0.1+0.7); 不等于0.9
// console.log( ((0.1*10)+(0.2*10))/10 );等于0.3
关系运算符:> ,<,>=,<= ,==,===
如果都是字符串,则不会隐式转换,而是比较字符串每一位的字符编码
逻辑运算符 && || !
&&全真为真,一假为假
||全假为假,一真为真
赋值运算符 = += -= *= /= %=
三元运算/条件运/三目运算
条件?表达式一:表达式二
es6求幂
a**3 (a的三次幂)
var a=1,b=2 ,c=3
console.log((a,b,c,));输出最右边数
流程控制语句
分支选择结构
单分支
双分支
多分支