<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript">
//定义一个对象
var person = {
firstname:'john',
lastname:'doe',
age:50,
eyecolor:'blue',
say:function (argument) {
alert(argument);
alert(this.age);
}
}
//alert(person.age); //访问对象属性
//alert(person['age']); //访问对象属性
//person.say('fff'); //访问对象的访问
//alert(person.say); //函数作为一个属性被访问
//如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
var carName="volvo"; //全局变量
function myFunction()
{
bicyCleName="Giant"; //全局变量
var a='a'; //局部变量
console.log(carName);
console.log(bicyCleName);
console.log(a);
}
myFunction();
console.log(bicyCleName); //正常输出
//console.log(a); //会报错 test.html:46 Uncaught ReferenceError: a is not defined
var b;
var c=null;
console.log(b); //undefined
console.log(c); //null
//alert(typeof e); //输出的是undefined
</script>
<!-- 原来事件是可以直接添加js代码的,不用先声明函数可以-->
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>
<button onclick="this.innerHTML=Date()">现在的时间是?</button>
<script type="text/javascript">
//字符串可以是对象
//不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:
var x = "John";
var y = new String("John");
console.log(typeof x); // 返回 String
console.log(typeof y); //返回 Object
console.log((x === y)); // 结果为 false,因为是字符串,y 是对象 === 为绝对相等,即数据类型与值都必须相等。
console.log(x.length);
var txt='';
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + x+person[x]+'
';
}
console.log(txt);
//你可以设置为 null 来清空对象:
var person = null; // 值为 null(空), 但类型为对象
//你可以设置为 undefined 来清空对象:
var person = undefined; // 值为 undefined, 类型为 undefined
</script>
</body>
</html>