javascript作用域
-
在jacascript中,作用域为可访问变量,对象,函数的集合
-
在函数内没有使用关键字定义变量则是全局变量
变量生命周期
-
局部变量在函数执行完毕后销毁
-
全局变量在页面关闭后销毁
全局变量
在html中全局变量是window对象,可以调用函数内部的局部变量
javascript输出
- 使用 window.alert() 弹出警告框。
- 使用 document.write() 方法将内容写到 HTML 文档中。document.getElementById(" ") 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。
- 使用 innerHTML 写入到 HTML 元素。
- 使用 console.log() 写入到浏览器的控制台。
javascript语法
字面量(固定值)
数字(Number),表达式,字符串,数组,对象,函数
javascript变量
-
关键字var来定义
-
变量是名称,字面量是值
-
一条语句中声明的多个变量不可以同时赋同一个值:
var x,y,z=1;
x,y 为 undefined, z 为 1。
-
为声明值的变量值为undefinded
-
重新声明值不变
var carname="Volvo"; var carname;
undefined 和 null 的区别
null 和 undefined 的值相等,但类型不等:
javascript语句
对代码可进行拆行
`document.write("你好 \ `
`世界!");`
let和const
const关键字来定义常量
let关键字来定义局部变量
javascript数据类型
Symbol表示独一无二的值
-
javascript拥有动态类型,相同变量不同类型
var x; // x 为 undefined var x = 5; // 现在 x 为数字 var x = "John"; // 现在 x 为字符串
-
使用typeof操作符查看数据类型
typeof "John" // 返回 string typeof 3.14 // 返回 number typeof false // 返回 boolean typeof [1,2,3,4] // 返回 object typeof { name:'John', age:34} // 返回 object
-
NaN 的数据类型是 number
-
数组(Array)的数据类型是 object
-
日期(Date)的数据类型为 object
-
null 的数据类型是 object
-
未定义变量的数据类型为 undefined
javascript对象
var person={
firstname:"John", lastname:"Doe", id:5566};
- 寻址方式
name=person.lastname;
name=person["lastname"];
-
对象方法创建
methodName : function() { // 代码 } 调用 对象.methondName();
javascript函数
非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。
函数的默认参数
function test(a=1,b=2){
return a+b;
}
test();//输出3
test(2,3);//输出5
自调用函数
函数表达式可以自己调用,表达式后面需要紧跟()
(function(){
var x ="HELLO!!";
})();
闭包
闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。直观的说就是形成一个不销毁的栈环境。
var add = (function () {
var counter = 0;
return function () {
return counter += 1;}
})();
add();
add();
add();
// 计数器为 3
//利用函数自调用,将counter初始化,返回函数方法给add
//调用add函数,counter执行+1
javascript字符串
你可以使用索引位置来访问字符串中的每个字符:
var character = carname[7];
for/in循环
JavaScript for/in 语句循环遍历对象的属性:
var person={
fname:"Bill",lname:"Gates",age:56};
for (x in person) // x 为属性名
{
...
}
JavaScript 标签
如需标记 JavaScript 语句,请在语句之前加上冒号:
label:{
statements
}
continue 语句(带有或不带标签引用)只能用在循环中。
break 语句(不带标签引用),只能用在循环或 switch 中。
通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:
cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars