文章目录
js定义数组Undefined 和 Null声明变量类型用newjs对象访问对象属性:访问对象方法
JavaScript 变量的生存期向未声明的 JavaScript 变量分配值JavaScript 全局变量js字符串break和continue
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";
var y
= new String("John");
document
.getElementById("demo").innerHTML
= x
===y
;
</script
>
<p
>=== 为绝对相等,即数据类型与值都必须相等。
</p
>
</body
>
=== 为绝对相等,即数据类型与值都必须相等
break和continue
无论是在java还是js中: break可以用在循环或者switch中,continent只可以用在循环体中,因为switch是顺序执行的。