(1)alert():在浏览器弹框中显示结果
(2)console.log():在浏览器的输出窗口中显示结果
(3)document.write():往浏览器中直接放入值
js 的语法
(1)与解析(预解析)
js是一个解释性语言,就是在代码执行之前,对代码进行通读,把一些东西提前解析出来
解析(一共解析两个东西)
1.声明式函数function fn(){}
2.var 关键字
做了什么?
1.会把var声名的变量提前(在代码执行之前,浏览器就已经知道了内存中有一个变量可以使用,只不过没有赋值)
2.把声明式函数提前
会把函数名当作变量提前
并且告诉浏览器这个变量的值是一个函数地址
在与解析的时候,如果变量名和函数名一致
变量名只是将其声明出来,但是不赋值
而函数名先声明后赋值。
预解析的无节操
1.不管if条件是否成立,代码块里面的代码会进行预解析
2.在函数体内,return后面的代码虽然不会执行,但是会进行预解析
预解析只会解析函数体外的内容
函数体内的内容会在函数调用的时候进行预解析
代码执行
fn()
函数体内的预解析
告诉浏览器在函数体内由一个num变量可以使用
函数体内的代码执行
函数调用阶段的四个事情
1.按照函数名内部存储的地址找到对应的函数存储空间
2.形参的赋值
3.预解析
4.函数体内的代码执行
js的内存空间分配分为两种
1.堆内存
2.栈内存
栈内存是有队列关系
堆内存是没有顺序关系
基本数据类型就直接存储在栈里面
引用数据类型数据在堆里面,只有地址在栈里面。