对象
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <!-- 对象的属性值可以是任何的数据类型,也可以是个函数 obj.sayName = function(){ 语句.. }; 函数也可以称为对象的属性 如果一个函数作为一个对象的属性保存 那么我们称这个函数是这个对象的方法 调用这个函数就说调用对象的方法(method) 但是他只是名称上的区别没有别的区别 obj.sayName(); fun(); --> <script type="text/javascript"> var obj = new Object(); //向对象中添加属性 obj.name = "coco"; //调方法 obj.sayName = function (){ console.log(obj.name); }; obj.sayName(); //调函数 function fun(){ console.log(obj.name); }; fun(); </script> </body> </html>
枚举对象中的属性
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <!-- 枚举对象中的属性 使用for..in 语句 语法 for(var 变量 in 对象){ } for..in语句 对象中有几个属性,循环就会执行几次 每次执行,会将对象中的一个属性的名字赋值给变量 --> <script type="text/javascript"> var obj = { name = "coco"; }; for (var n in obj){ console.log("hello"); console.log("属性名:"+n);//name console.log("属性值:"+obj[n]);//coco } </script> </body> </html>
作用域
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <!-- 作用域 作用域指一个变量的作用的范围 在JS中一共有两种作用域 1.全局作用域 直接编写在script标签中的JS代码,都在全局作用域 全局作用域在页面打开时创建,在页面关闭时销毁 在全局作用域中有一个全局对象window, 它代表的是一个浏览器的窗口,他由浏览器创建,我们可以直接使用 在全局作用域中 创建的变量都会作为window对象的属性保存 创建的函数都会作为window对象保存
全局作用域中的变量都是全局变量,在页面的任意的部分都可以访问到
-->
<script type="text/javascript">
var a = "coco"; console.log(window.a);
function fun(){
console.log("fun函数")
}
window.fun();
window.alert("hello");
</script>
</body>
</html>
变量的声明提前
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <!-- 变量的声明提前 使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值 但是如果声明变量时不是用var关键字,则关键字不会被声明提前 函数的声明提前 使用函数声明形势创建的函数function(){} 他会在所有的代码执行之前就被创建 使用函数表达式声明的不会被提前 --> <script type="text/javascript"> console.log(a); var a = "coco"; //函数声明,会被提前创建 fun();//正常显示 function fun(){ console.log("我是fun"); } //函数表达式,不会被提前创建 fun2();//会报错,undefined var fun2 = function(){ console.log("我是fun2"); }; </script> </body> </html>