文章目录
js定义数组
<body>
<!-- 定义数组 -->
<!-- 1. -->
var arr = new Array("uf","en");
<!-- 2. -->
var arr = new Array();
arr[0] = "uf";
arr[1] = "en";
<!-- 3. -->
var arr=["uf",en""];
<!-- 二维数组 -->
var arr = new Array();
arr[0] = new Array("a","b");
arr[1] = new Array("c","b");
</body>
Undefined 和 Null
- Undefined 这个值表示变量不含有值。
- 可以通过将变量的值设置为 null 来清空变量。
声明变量类型用new
var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
js对象
var person={
firstname : "John",
lastname : "Doe",
id : 5566,
fullName : function()
{
return this.firstName + " " + this.lastName;
}
};
访问对象属性:
1. name=person.lastname;
2. name=person["lastname"];
3. document.getElementById("demo1").innerHTML = "不加括号输出函数表达式:" + person.fullName;
访问对象方法
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function()
{
return this.firstName + " " + this.lastName;
}
};
document.getElementById("demo").innerHTML = person.fullName();
</script>
总结:加括号,方法执行;不加括号,返回函数。
JavaScript 变量的生存期
-
JavaScript 变量的生命期从它们被声明的时间开始。
-
局部变量会在函数运行以后被删除。
-
全局变量会在页面关闭后被删除。
向未声明的 JavaScript 变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。
这条语句:carname=“Volvo”;
将声明 window 的一个属性 carname。
非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。
var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性
console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2
delete var1; // false 无法删除
console.log(var1); //1
delete var2;
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义
JavaScript 全局变量
- 变量在函数外定义,即为全局变量。
- 全局变量有全局作用域: 网页中所有脚本和函数均可使用。
- 注:如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
- 在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。
<body>
<p>
如果你的变量没有声明,它将自动成为全局变量:
</p>
<p id="demo"></p>
<script>
myFunction();
document.getElementById("demo").innerHTML =
"我可以显示 " + carName;
function myFunction()
{
carName = "Volvo";
}
</script>
</body>
js字符串
在字符串中使用引号,字符串中的引号不要与字符串的引号相同:
var answer = “He is called ‘Johnny’”;
var answer = ‘He is called “Johnny”’;
在字符串添加转义字符来使用引号:
var x = 'It\‘s alright’;
var y = “He is called \“Johnny\””;
输出:
字符串可以是对象
<body>
<p id="demo"></p>
<script>
var x = "John"; // x 是字符串
var y = new String("John"); // y 是一个对象
document.getElementById("demo").innerHTML = x===y;
</script>
<p>=== 为绝对相等,即数据类型与值都必须相等。</p>
</body>
=== 为绝对相等,即数据类型与值都必须相等
break和continue
无论是在java还是js中:
break可以用在循环或者switch中,continent只可以用在循环体中,因为switch是顺序执行的。