Js代码执行
Js代码执行前,浏览器会给他一个全局环境,叫window(全局作用域)。在window下浏览器找到所有的带var和function关键字然后给他们分配内存地址。不管你赋值没赋值,浏览器告诉所有的子模块,这个东西存在了。这种能力就叫变量提升。
变量的值
我们学了两个了,一个字符串,数字。不管是字符串还是数字,后面的直通通称为数据。
数据的类型有哪些?
字符串 数字 数组 json 对象 布尔 null undefiend 函数
基本和复合
运算
- 四则运算
- 逻辑运算 或 (||) 且 (&&) 非(!) 结果是布尔 true和false
- 关系运算(比较运算)> >= < <= !(取反)==(双等于)
=是赋值运算 结果还是true和false
===全等 数据类型和值都一样 不全等于!==
==也有隐式转换的能力
Js代码执行前浏览器会给一个全局作用域window
Window分为两个模块 一个是存储模块 一个是执行模块
存储模块找到所有的var 和funcion关键字 给这些变量添加内存地址
执行模块 ,代码从上往下执行,遇到变量就会去存储模块查找,有和没有,有你就看你有没有赋值,赋值了就是后面的值 没有赋值就是undefined。
没有 结果就是 xxx is not defined
1.parselnt()
2.Parsefloat()
遇到第一个字节是非数字就结束了
- var a=“Hello world”
A这个变量是字符串了,对于里面的每一个字母来说,他是字节,里面有11个字节,字节总数用length表示。
符号运算
+ 字符拼接
. 表示“的”
对于点运算 点前面的叫对象 后面的叫属性和方法
A a.length length是属性
B a.way() way()是方法
条件语句
如果 否则 if else
If(条件){
执行模块一
}else{
执行模块二
}
案例:
var age=22
if(age>20){
console.log("恭喜成年)
}else{
console.log("未成年")
三元(目)运算
条件?语句1:语句2
案例
var age=22
age>18?console.log("老了"):console.log("你还年轻")
- 自加自减
= 赋值运算 他的顺序是从右往左,从后往前。
i++ 返回的是自增之前的值 先利用再加
++i 返回的是自增之后的值 先加再利用
i---
--i
案例
var a =10 b=20 c=30
e=(a++)+(++b)+(++c)+(++a)
a++ 先利用然后再加 所以a的值为11
++b先加后利用 b的值为21
++c同理 所以c=31
++a 为11+1=12
所以为10+21+31+12=74
console.log(e)=74