对象
<!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>
转载于:https://www.cnblogs.com/lijingjaj/p/11177276.html