重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.表达式(expressions)
成都创新互联公司网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站设计、做网站、成都外贸网站建设公司,塑造企业网络形象打造互联网企业效应。
表达式是由运算符构成,并运算产生结果的语法结构。每个表达式都会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式:
var a = (5 + 6) / 2; //表达式:(5 + 6) / 2
var b = (function(){ return 25;})(); //表达式: (function(){ return 25;})()
foo(a*b); //表达式:a*b
2.语句(statements)
语句则是由“;(分号)”分隔的句子或命令。如果在表达式后面加上一个“;”分隔符,这就被称为“表达式语句”。它表明“只有表达式,而没有其他语法元素的语句”。
var a = (5 + 6) / 2; //整行,赋值语句
if(a12) { statements} //条件语句
var o = {}; //赋值语句
(function(obj){ obj.b = 23;})(o||{}); //表达式语句
一般的javascript中的语句分为下面几种:
(1)声明语句:变量声明和函数声明
(2)赋值语句
(3)控制语句:能够对语句执行顺序产生改变,包括条件语句和循环语句,当然还有比较特殊的标签语句。
(4)表达式语句:这些语句去掉最后分号,都也可当表达式用的。常见的有:对象操作(new、delete)、函数调用(函数执行,必有返回值)等。
var num = 9; //声明、赋值语句
vloop: //标签语句
{ //其实这里大括号可以不需要的,在这里我只想向大家展示一下这种代码块结构而已
for(var i=1; i10; i++) { //循环语句
if(i==num){ //条件语句
break vloop;
}else{
num = num - 1;
}
}
}
console.log(num); //表达式语句,输出:5
由上面可以看出,表达式和语句还是存在很大区别的,可也说表达式是语句的构成部分,而语句则又可以组成可执行代码块。
定义
function
Person(national,age)
{
this.age
=
age;
//实例对象,每个示例不同
Person.national
=
national;
//类对象,所用实例公用
var
bb
=
0;
//局部变量,外面不能访问(类似局部函数)
}
调用
var
p
=
new
Person("中国",
29);
document.writeln("age:"
+
p.age);
document.writeln("object
national:"
+
p.national);
document.writeln("Class
national:"
+
Person.national);
document.writeln("local
var:"
+
p.bb);
var
p2
=
new
Person("美国",
31);
document.writeln("/br");
document.writeln("age:"
+
p2.age);
document.writeln("object
national:"
+
p2.national);
document.writeln("Class
national:"
+
Person.national);
document.writeln("local
var:"
+
p2.bb);
document.writeln("/br");
document.writeln("Class
national:"
+
Person.national);
//age:29
object
national:undefined
Class
national:中国
local
var:undefined
//age:31
object
national:undefined
Class
national:美国
local
var:undefined
//Class
national:美国
以上这篇浅谈js函数中的实例对象、类对象、局部变量(局部函数)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
两者是同一种东西(for in)的不同称呼,没有区别的。
这种循环结构是用来遍历数组或对象的:
var arr=[111,222,333,444,555];
for(var key in arr){
document.write(arr[key]+" ");
}
document.write("br");
var obj={"name":"张三","age":21};
for(var key in obj){
document.write(obj[key]+" ");
}
for...in 语句用于对数组或者对象的属性进行循环操作。
语法:
for (变量 in 对象){ 在此执行代码}
for循环是对数组的元素进行循环,而不能引用于非数组对象。
语法:for(int 变量初始值;条件;递增或递减){ 在此执行代码}
我们在需要进行数组复制的时候可能会想到以下的方法
代码
var
arr1
=
[1,2,3,4,5];
var
arr2
=
[];
arr2
=
arr1;
console.log(arr1);
console.log(arr2);
执行结果如下:
[1,
2,
3,
4,
5]
[1,
2,
3,
4,
5]
在这个例子中,将数组arr1赋值给了另一个数组arr2。
查看执行结果,似乎复制了数组的内容并创建了相同的数组。
但是,由于数组是“引用类型”的数据,因此它不会复制该值,而只是共享存储该值的内存的位置。
因此,我们编写以下代码
arr2.push(6);
console.log(arr1);
console.log(arr2);
执行结果如下
[1,
2,
3,
4,
5,
6]
[1,
2,
3,
4,
5,
6]
根据以上结果可以发现即使我们只给arr2添加新值6,但是数组arr1中也会添加一个6,这就是因为两个
数组都只引用存储值的位置,如果更改任一数组中的数据,两者都会改变。
所以下面我们就来使用concat方法复制数组
我们来看具体示例
var
arr1
=
[1,2,3,4,5];
var
arr2
=
[];
arr2
=
arr1.concat();
arr2.push(6);
console.log(arr1);
console.log(arr2);
执行结果如下
[1,
2,
3,
4,
5]
[1,
2,
3,
4,
5,
6]
要将另一个数组复制到数组arr2,只需要在复制源arr1中执行concat()即可。
您可能感兴趣的文章:js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解深入理解javascript中concat方法javascript使用
concat
方法对数组进行合并的方法JS
Array创建及concat()split()slice()的使用方法浅谈JavaScript的push(),pop(),concat()方法JavaScript模拟数组合并concatjs采用concat和sort将N个数组拼接起来的方法
1.对象的字面量的形式var obj = {} 2.new 的方式来调用构造函数的形式 Object是个构造函数var obj = new Object(); obj.name = '黄忠' 3.工厂方法 function fn (name) { // 1. 创建一个空对象 var obj = new Object() // 2. 给对象添加属性和方法 obj.name = name // 3. 返回一个obj对象 return obj} 4.构造函数 帕斯卡命名 第一个单词的第一个字母大写,后续的每一个单词的第一个字母都大写通过this动态的给构造函数添加属性和方法 function Hero(name, weapon, equipment, blood) { // this 动态的给对象增加成员 // this 指向了当前对象 this.name = name; this.weapon = weapon; this.equipment = equipment; this.blood = blood; this.attack = function () { console.log(this.name + ':攻击'); } this.run = function () { console.log(this.name + ': 加速跑'); } } var hero1 = new Hero('黄忠', '弓箭', ['头盔', '靴子'], 100);