数码资讯
Nodejs基本语法和类型
在前面写 今天,我想找出什么样的节点知识,想总结一下,看到一篇关于OL的文章,但是原创链接不在。在快照中,把这篇文章引出来。如果原作者有问题,请与我联系。 这篇文章是一些js的基础,高手自动跳过!以前我没有写js,这个比较弱,所以写节点的时候也遇到了麻烦,在这里给自己添加知识! 文本 Node.js
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在前面写
今天,我想找出什么样的节点知识,想总结一下,看到一篇关于OL的文章,但是原创链接不在。在快照中,把这篇文章引出来。如果原作者有问题,请与我联系。
这篇文章是一些js的基础,高手自动跳过!以前我没有写js,这个比较弱,所以写节点的时候也遇到了麻烦,在这里给自己添加知识!
文本
Node.js的基础是脚本语言Javascript。大多数的脚本语言的一个共同特点是弱型。
与PHP,PHP是一个新的变量,不需要申报,Javascript仍然需要var来声明它。这VaR覆盖了所有类型的意义,如int,char,字符串,和C++的偶函数。
所有的这和后面的章节编辑Vim Linux或Cygwin,下如果没有内容,然后把它变成你自己的路,然后检查结果的命令行下。
基本语法
变量的声明
在C / C++,我们声明的变量:
` ` ` C++
复制代码代码如下所示:
空(富){ }
int = 0;
字符b = a;
C = 1.0f浮;
无效(* d);
在Node.js,这种情况。
javascript
复制代码代码如下所示:
函数(富){ }
var a=0;
var b = a;
var=1;
var;
所以,不管是什么类型的变量,在Node.js,它是由一个变种的解决
循环语句
我为…
这个循环基本上是作为C / C++一样。
` ` ` C++
复制代码代码如下所示:
为(int = i 0;i <;+;+ +)
{
…
}
因为Node.js是弱类型,它只需要:
javascript
复制代码代码如下所示:
对于(var i = 0;i <;i + +){
…
}
在对…
这是一个后期型循环语句类似于PHP的foreach。
例如,我们有一个JSON对象,如下所示:
Javascript
复制代码代码如下所示:
var { { { {
hello:世界
节点:js
东西:酒吧
};
这时我们可以绕过去了…在。
Javascript
复制代码代码如下所示:
对于(在foo VAR键){
console.log(键+:+ Foo {key});
}
如果我们在命令行中输入以下命令:
复制代码代码如下所示:
foo.js美元结
屏幕上显示以下内容:
复制代码代码如下所示:
你好
:世界
结:JS
Blahblah:酒吧
提示:从上面的…在语句是用来遍历JSON对象,数组,对象的键,并没有提供关键的路径。如果你想获得的核心价值,你只能得到它在foo { }的形式。这是从PHP的foreach有一定差异。
而这样做,会做……
这没什么可解释的。与其他语言没有什么大的区别。如果你有一个变量声明,你需要用变量。
操作人员
+,*,
这些操作都是一样的,我们需要注意的是,它可以是一个字符串或数值操作。虽然型弱类型语言是脆弱的,有时会出现在数字字符串的形式,有时会出现数值的形式,但在必要的时候,或者说它是什么类型,我们可以使用下面的代码来看看结果:
复制代码代码如下所示:
var1;
var b=2;
console.log(A + B);
console.log(parseInt()+ B);
这里是一个内置函数parseInt Node.js,其功能是解析字符串转换成int类型的变量。
上述代码执行的结果是:
复制代码代码如下所示:
十二
三
注:第一console.log结果是12,因为是一个字符串,所以B也通过手势操作字符串。结果是,两个字符串连接在一起,成为12。二console.log结果是3,因为我们将首先为int类型,int类型的变量和两个加在一起,即数值加3。
= =,!= =,!
这里有一点解释,当逻辑运算符长度为2时(= =),!=),只有判决的外在价值是不一样的,但不确定type.as
复制代码代码如下所示:
var a = 1,b =1 ;
console.log(a b);
输出的结果是正确的,但是如果我们在中间判断时加上等号,我们就必须严格判断。当我们需要相同的类型和值时,它是对的或错的。换句话说。
复制代码代码如下所示:
var a = 1,b =1 ;
console.log(a b);
在当时,返回的结果是false,因为A是int,而b是一个字符串。
让我们沿着条件语句继续前进。实际上,如果这里没有其他语言一样。有两个逻辑运算符,两个相等,三个等号,所以我不做很多事情。
类型
这里我把它看作是一个操作符,而不是函数。
这个操作符的功能是确定变量的类型并返回一个字符串,类型名和以下代码的具体执行是已知的。
复制代码代码如下所示:
函数(富){ }
var a=0;
沉默的蛋清汤在睡觉;
var=1;
var;
var:};
var = { 1, 2, 3 };
var = null;
未定义的;
console.log(种类);
console.log(类型B);
console.log(类型C);
console.log(:D);
console.log(E型);
console.log(F型);
console.log(typeof G);
console.log(H型);
执行死刑的结果是:
复制代码代码如下所示:
数
字符串
数
功能
对象
对象
对象
未定义
NULL,未定义,楠
在Javascript中,有三个特殊的值,如题所示。第一人可能熟悉它,C / C++有它,但它是一个很大的情况下,其实质是一个。
` ` ` C++
定义0
在Javascript中,三个值表示不同的含义。
# # #空# # #
空是一种特殊的对象,和一般意义上是空的。例如 uff1a
var = null;
每个人都能理解,不多解释。但不像C或C++,这个零不等于0。
# # #定义# # #
这个东西的意思是说变量没有被声明。为了更好地被划分为null,我们的示例代码写如下:
javascript
复制代码代码如下所示:
var = {
:null
};
console.log(一个{foo));
console.log(一个{酒吧));
在上面的代码中,我们让{}}的值是空的,也就是NULL,而根并没有声明一个{bar}这个东西,它甚至不是空的。输出结果几乎应该被猜出来。
复制代码代码如下所示:
无效的
未定义
南
这是一个空值,它是一个特殊的数字。它的全名不是一个数字。你可以理解不是数字形式或数值错误的数字类型变量,这有点奇怪。
它们大多出现在浮点运算错误(如被分割为0)的情况下,甚至用户也可以使一个变量等于NaN返回一个错误值,让您知道这个函数的操作是错误的。
小。
语句的其余部分类似于已经存在的其他语言,如中断、切换、继续等。
变量类型
本节主要是关于Javascript对象,它几乎是其他类型的。
基本型
这几乎是Node.js包含如下的基本类型:
数
字符串
布尔
阵列
前三种类型可以直接赋值,而数组赋值仅仅是一个赋值赋值,在变量中变量中旧的新变量的值会发生变化,你可以直接试试下面的代码:
Javascript
var = { 1, 2, 3 };
var;
条{ 0 } = 3;
console.log(Foo);
结果是:
Javascript
{ 3, 2, 3 }
也就是说,如果数组复制了一个新数组,就不能使用直接赋值的方法,但必须深入复制。
有必要讨论三种创建数组的方法。
第一:
Javascript
复制代码代码如下所示:
var =新数组();
狗{ 0 } =嘘;
狗{ 1 } 蛋花汤;
狗{ 2 } =睡觉;
第二种:
Javascript
复制代码代码如下所示:
var =新数组()
第四种:
Javascript
复制代码代码如下所示:
var
嘘
{蛋花汤}
睡觉
};
我个人比较喜欢第三种写作方式,比较简洁。
JSON对象
这里我只接受一个JSON对象,而不是把它归类为Javascript对象,如果您觉得我有点误导,您可以跳过这个部分。
我对JSON对象和Javascript对象之间的区别是,如果它只用于存储数据,而不是作为类的实例化,实际上JSON的本质是Javascript对象表示法。
有关JSON的更多信息,请自为百科全书。
声明一个JSON对象在Node.js是非常简单的:
Javascript
复制代码代码如下所示:
var狗{ {
前:嘘
子:{
:蛋花汤
行为:睡觉
时间:12
},
后:{我说
};
在JSON密钥中有两种方法获得密钥对象,第一种是使用点连接,第二种是使用括号:
Javascript
复制代码代码如下所示:
狗
。预;
狗{前};
注意:当点在顶部时,直接用JSON键跟随。如果键被视为要被询问的变量,它只能用狗{键}来测试:现在您必须自己尝试它,并以…在。不要忘记使用typeof喵喵。
类(对象)的基
从严格意义上说,Node.js的类不能被视为一类,但它只是一个聚集的功能,再加上一些成员变量,其本质实际上是一个函数。
但是为了粗俗,我们称它为类,实例化称为对象。
因为一个类有很多功能,或者它的本质是一个函数,所以我们可能会不小心。
类的声明和实例化
声明一个类是很简单的,不要笑。
Javascript
函数(){
…
}
我们已经写了一个富类。
真的这是真的。
不相信吗我不相信你能拿起一段代码来看看它。
Javascript
var(=);
不要把它看作一个函数,如果它是以这样的形式(new)编写的,它就是类的实例化。
所谓的富()实际上是富()类的构造函数。
成员变量
成员变量有两种很好的方法。
第一个是使用这个。在类的构造函数中或任何构造函数中,可以随时声明成员变量,并且不影响外部的用法。无论如何,即使没有声明,也会有一个未定义的支持它,所以这是第一种方式:
复制代码代码如下所示:
Javascript
函数(){
this.hello =世界;
}
注意:只有当添加的是调用类的成员变量,否则它才是函数中的一个局部变量。
第二种方法是在构造函数或任何成员函数之外声明,其格式为原型。:
Javascript
复制代码代码如下所示:
函数(){
…
}
foo.prototype.hello =世界;
不管上面的方法是成员变量的语句,我们都可以看到效果:
Javascript
复制代码代码如下所示:
var(=);
console.log(酒吧。你好);
甚至你也可以用这种方式修改这个类:
Javascript
复制代码代码如下所示:
函数(){
this.hello =世界;
}
foo.prototype.hello =蛋花汤;
然后使用上面的代码输出。
想一想为什么产出的是世界而不是蛋花汤。
构造函数
我们以前说过,这个()实际上是一个构造函数,所以很明显我们可以传递构造函数参数,所以有下面的代码:
Javascript
复制代码代码如下所示:
代码2.1
函数(hello){
如果(hello =未定义){
this.hello =世界;
{人}
this.hello =你好;
}
}
我们看到上面是否有一个奇妙(hello =未定义),判断有什么用第一种可能性是开发人员很难进入未定义的状态,而这一次它是未定义的。
还有一种情况,我们开始说Javascript是弱类型语言,不仅弱型,但也是一个非常不精确的传输参数,你可以更多的传记或邵传(只要你能保证你通过更多或更少,你可以确保程序不会犯错或逻辑不犯错误)原则,多通过参数自动忽略,而不是发送的参数会补充定义。
请看下面的代码。
Javascript
复制代码代码如下所示:
取代码2.1
VaR bar1 =新foo();
VaR bar2 =新foo(蛋花汤);
请输出Hello变量两杆和发现,一是世界的蛋花汤。很明显,我们首先通过观察时,Node.js bar1自动声明:
Javascript
复制代码代码如下所示:
Var bar1 = new foo (undefined);
这就是世界。
在这个构造函数,我们看到,传入的参数是你好有这类,this.hello.but正如我们前面提到的一个成员变量,当这个和这个都没有用,范围是不同的,这个参数只作用于构造函数,而这种联合是与这个成员变量。他们区分它们,立即,所以即使相同的名字并不重要。
成员函数
成员函数声明
成员函数的声明类似于成员变量的第二个声明性方法,即原型。=;
Javascript
复制代码代码如下所示:
取代码2.1
功能sethello(你好){
this.hello =你好;
}
foo.prototype.sethello = sethello;
bar1.sethello(蛋糕);
代码的上面部分是显而易见的,我们实施了Foo类的sethello功能,可以通过它修改的foo.hello价值。
但是写这个有点麻烦吗然后我将讨论Javascript函数的一个重要特性。
这个匿名函数。
大多数时候我们的一些函数在一个地方只引用或调用,然后我们有一个名字,这个函数不值得太多,没有必要,所以我们可以写这个临时函数,让人引用它来引用它,叫它人们叫它。这样函数就可以省略函数名了,比如:
Javascript
复制代码代码如下所示:
函数(hello){
this.hello =你好;
}
至于如何报价或打电话呢如果上面的类需要引用,它是这样写的。
Javascript
复制代码代码如下所示:
foo.prototype.sethello =功能(你好){
this.hello =你好;
}
这样的编写对于成员函数声明是有效的,并且节省了大量代码。事实上,基本类成员函数的声明是以匿名函数的形式声明的。
关于如何使匿名函数调用这通常用于传递只由函数调用的函数。
例如,我们有一个函数原型:
Javascript
复制代码代码如下所示:
我们将传递A,B两个变量,
*在计算a + b的值之后,它被赋予函数(数字)。
*执行输出
* /
功能sumab(A,B,func){
var;
Func(a,b,c);
}
例如,我们有两个版本的输出函数,一个是中文输出,另一个是英文输出,所以如果你不使用匿名函数,它是写的。
Javascript
复制代码代码如下所示:
功能(A,B,和ZH){
对console.log价值(++ + + + B +是:+和);
}
函数EN(a,b,和){
console.log(+++ B + +和);
}
sumab(1, 2,ZH);
sumab(3, 4,EN);
代码被执行,输出将是:
1 + 2的值是:3。
3加4等于7。
这样的代码将以匿名函数的形式存在:
Javascript
复制代码代码如下所示:
sumab(1, 2,功能(A,B,和){
对console.log价值(++ + + + B +是:+和);
});
sumab(3, 4,功能(A,B,和){
console.log(+++ B + +和);
});
这种形式通常用于回调函数。回调机制是Node.js或Javascript的本质。介绍将在以后的章节。
成员函数声明的匿名函数声明
尽管最后一节说了,让我们再说一遍。
通常,我们声明一个类的成员函数是由匿名函数声明的,因为这个函数是这个类的成员函数,它不会在其他地方被引用或调用,所以下面的代码是可用的。
Javascript
复制代码代码如下所示:
取代码2.1
foo.prototype.sethello =功能(你好){
this.hello =你好;
}
这样,我们有sethello Foo类的功能。
2.3.4随机性的。班
这又是我的废话。所谓的类的任意性是,在Javascript中,你可以在任何地方修改你的类,它与Ruby有一定的相似性。
例如,字符串,事实上,也是一类,与成员变量和成员函数如长度等指标和substr。但是如果我们认为字符串是不完善的,并要添加我们自己的方式,我们可以添加一个功能,这是你想要的,例如:
Javascript
复制代码代码如下所示:
string.prototype.sb =函数(){
VaR纽世达= ;
对于(var i = 0;i < this.length;i++){
如果(我% 2 = = = 0)纽世达= S;
其他纽世达=B;
}
返回纽世达;
};
这个函数的意思是填充一个字符串,使之成为某人的化身。
让我们来测试它。
复制代码代码如下所示:
嘘-蛋花汤正在睡觉;
console.log(str.sb());
你会得到结果的:
sbsbsbsbs
你跟你的电脑说花-蛋花汤睡觉,你的电脑,你将被称为四个白痴。
三.附属的
3.1。深拷贝
所谓的深层复制就是自己创建一个数组或对象,手动复制源数组或对象中的基本类型变量,而不是仅仅引用源数组或对象的引用,因此这涉及到递归调用。
下面是我实现的一个深拷贝函数。你可以写一个你自己并把它添加到你自己的js知识库。
Javascript
复制代码代码如下所示:
功能克隆对象(SRC){
VaR dest = { };
对于(var中的var键){
如果(typeof src=对象)DeST {key} =克隆对象(SRC {key});
其他dest {key} = SRC {key};
}
返回dest;
}
今天,我想找出什么样的节点知识,想总结一下,看到一篇关于OL的文章,但是原创链接不在。在快照中,把这篇文章引出来。如果原作者有问题,请与我联系。
这篇文章是一些js的基础,高手自动跳过!以前我没有写js,这个比较弱,所以写节点的时候也遇到了麻烦,在这里给自己添加知识!
文本
Node.js的基础是脚本语言Javascript。大多数的脚本语言的一个共同特点是弱型。
与PHP,PHP是一个新的变量,不需要申报,Javascript仍然需要var来声明它。这VaR覆盖了所有类型的意义,如int,char,字符串,和C++的偶函数。
所有的这和后面的章节编辑Vim Linux或Cygwin,下如果没有内容,然后把它变成你自己的路,然后检查结果的命令行下。
基本语法
变量的声明
在C / C++,我们声明的变量:
` ` ` C++
复制代码代码如下所示:
空(富){ }
int = 0;
字符b = a;
C = 1.0f浮;
无效(* d);
在Node.js,这种情况。
javascript
复制代码代码如下所示:
函数(富){ }
var a=0;
var b = a;
var=1;
var;
所以,不管是什么类型的变量,在Node.js,它是由一个变种的解决
循环语句
我为…
这个循环基本上是作为C / C++一样。
` ` ` C++
复制代码代码如下所示:
为(int = i 0;i <;+;+ +)
{
…
}
因为Node.js是弱类型,它只需要:
javascript
复制代码代码如下所示:
对于(var i = 0;i <;i + +){
…
}
在对…
这是一个后期型循环语句类似于PHP的foreach。
例如,我们有一个JSON对象,如下所示:
Javascript
复制代码代码如下所示:
var { { { {
hello:世界
节点:js
东西:酒吧
};
这时我们可以绕过去了…在。
Javascript
复制代码代码如下所示:
对于(在foo VAR键){
console.log(键+:+ Foo {key});
}
如果我们在命令行中输入以下命令:
复制代码代码如下所示:
foo.js美元结
屏幕上显示以下内容:
复制代码代码如下所示:
你好
:世界
结:JS
Blahblah:酒吧
提示:从上面的…在语句是用来遍历JSON对象,数组,对象的键,并没有提供关键的路径。如果你想获得的核心价值,你只能得到它在foo { }的形式。这是从PHP的foreach有一定差异。
而这样做,会做……
这没什么可解释的。与其他语言没有什么大的区别。如果你有一个变量声明,你需要用变量。
操作人员
+,*,
这些操作都是一样的,我们需要注意的是,它可以是一个字符串或数值操作。虽然型弱类型语言是脆弱的,有时会出现在数字字符串的形式,有时会出现数值的形式,但在必要的时候,或者说它是什么类型,我们可以使用下面的代码来看看结果:
复制代码代码如下所示:
var1;
var b=2;
console.log(A + B);
console.log(parseInt()+ B);
这里是一个内置函数parseInt Node.js,其功能是解析字符串转换成int类型的变量。
上述代码执行的结果是:
复制代码代码如下所示:
十二
三
注:第一console.log结果是12,因为是一个字符串,所以B也通过手势操作字符串。结果是,两个字符串连接在一起,成为12。二console.log结果是3,因为我们将首先为int类型,int类型的变量和两个加在一起,即数值加3。
= =,!= =,!
这里有一点解释,当逻辑运算符长度为2时(= =),!=),只有判决的外在价值是不一样的,但不确定type.as
复制代码代码如下所示:
var a = 1,b =1 ;
console.log(a b);
输出的结果是正确的,但是如果我们在中间判断时加上等号,我们就必须严格判断。当我们需要相同的类型和值时,它是对的或错的。换句话说。
复制代码代码如下所示:
var a = 1,b =1 ;
console.log(a b);
在当时,返回的结果是false,因为A是int,而b是一个字符串。
让我们沿着条件语句继续前进。实际上,如果这里没有其他语言一样。有两个逻辑运算符,两个相等,三个等号,所以我不做很多事情。
类型
这里我把它看作是一个操作符,而不是函数。
这个操作符的功能是确定变量的类型并返回一个字符串,类型名和以下代码的具体执行是已知的。
复制代码代码如下所示:
函数(富){ }
var a=0;
沉默的蛋清汤在睡觉;
var=1;
var;
var:};
var = { 1, 2, 3 };
var = null;
未定义的;
console.log(种类);
console.log(类型B);
console.log(类型C);
console.log(:D);
console.log(E型);
console.log(F型);
console.log(typeof G);
console.log(H型);
执行死刑的结果是:
复制代码代码如下所示:
数
字符串
数
功能
对象
对象
对象
未定义
NULL,未定义,楠
在Javascript中,有三个特殊的值,如题所示。第一人可能熟悉它,C / C++有它,但它是一个很大的情况下,其实质是一个。
` ` ` C++
定义0
在Javascript中,三个值表示不同的含义。
# # #空# # #
空是一种特殊的对象,和一般意义上是空的。例如 uff1a
var = null;
每个人都能理解,不多解释。但不像C或C++,这个零不等于0。
# # #定义# # #
这个东西的意思是说变量没有被声明。为了更好地被划分为null,我们的示例代码写如下:
javascript
复制代码代码如下所示:
var = {
:null
};
console.log(一个{foo));
console.log(一个{酒吧));
在上面的代码中,我们让{}}的值是空的,也就是NULL,而根并没有声明一个{bar}这个东西,它甚至不是空的。输出结果几乎应该被猜出来。
复制代码代码如下所示:
无效的
未定义
南
这是一个空值,它是一个特殊的数字。它的全名不是一个数字。你可以理解不是数字形式或数值错误的数字类型变量,这有点奇怪。
它们大多出现在浮点运算错误(如被分割为0)的情况下,甚至用户也可以使一个变量等于NaN返回一个错误值,让您知道这个函数的操作是错误的。
小。
语句的其余部分类似于已经存在的其他语言,如中断、切换、继续等。
变量类型
本节主要是关于Javascript对象,它几乎是其他类型的。
基本型
这几乎是Node.js包含如下的基本类型:
数
字符串
布尔
阵列
前三种类型可以直接赋值,而数组赋值仅仅是一个赋值赋值,在变量中变量中旧的新变量的值会发生变化,你可以直接试试下面的代码:
Javascript
var = { 1, 2, 3 };
var;
条{ 0 } = 3;
console.log(Foo);
结果是:
Javascript
{ 3, 2, 3 }
也就是说,如果数组复制了一个新数组,就不能使用直接赋值的方法,但必须深入复制。
有必要讨论三种创建数组的方法。
第一:
Javascript
复制代码代码如下所示:
var =新数组();
狗{ 0 } =嘘;
狗{ 1 } 蛋花汤;
狗{ 2 } =睡觉;
第二种:
Javascript
复制代码代码如下所示:
var =新数组()
第四种:
Javascript
复制代码代码如下所示:
var
嘘
{蛋花汤}
睡觉
};
我个人比较喜欢第三种写作方式,比较简洁。
JSON对象
这里我只接受一个JSON对象,而不是把它归类为Javascript对象,如果您觉得我有点误导,您可以跳过这个部分。
我对JSON对象和Javascript对象之间的区别是,如果它只用于存储数据,而不是作为类的实例化,实际上JSON的本质是Javascript对象表示法。
有关JSON的更多信息,请自为百科全书。
声明一个JSON对象在Node.js是非常简单的:
Javascript
复制代码代码如下所示:
var狗{ {
前:嘘
子:{
:蛋花汤
行为:睡觉
时间:12
},
后:{我说
};
在JSON密钥中有两种方法获得密钥对象,第一种是使用点连接,第二种是使用括号:
Javascript
复制代码代码如下所示:
狗
。预;
狗{前};
注意:当点在顶部时,直接用JSON键跟随。如果键被视为要被询问的变量,它只能用狗{键}来测试:现在您必须自己尝试它,并以…在。不要忘记使用typeof喵喵。
类(对象)的基
从严格意义上说,Node.js的类不能被视为一类,但它只是一个聚集的功能,再加上一些成员变量,其本质实际上是一个函数。
但是为了粗俗,我们称它为类,实例化称为对象。
因为一个类有很多功能,或者它的本质是一个函数,所以我们可能会不小心。
类的声明和实例化
声明一个类是很简单的,不要笑。
Javascript
函数(){
…
}
我们已经写了一个富类。
真的这是真的。
不相信吗我不相信你能拿起一段代码来看看它。
Javascript
var(=);
不要把它看作一个函数,如果它是以这样的形式(new)编写的,它就是类的实例化。
所谓的富()实际上是富()类的构造函数。
成员变量
成员变量有两种很好的方法。
第一个是使用这个。在类的构造函数中或任何构造函数中,可以随时声明成员变量,并且不影响外部的用法。无论如何,即使没有声明,也会有一个未定义的支持它,所以这是第一种方式:
复制代码代码如下所示:
Javascript
函数(){
this.hello =世界;
}
注意:只有当添加的是调用类的成员变量,否则它才是函数中的一个局部变量。
第二种方法是在构造函数或任何成员函数之外声明,其格式为原型。:
Javascript
复制代码代码如下所示:
函数(){
…
}
foo.prototype.hello =世界;
不管上面的方法是成员变量的语句,我们都可以看到效果:
Javascript
复制代码代码如下所示:
var(=);
console.log(酒吧。你好);
甚至你也可以用这种方式修改这个类:
Javascript
复制代码代码如下所示:
函数(){
this.hello =世界;
}
foo.prototype.hello =蛋花汤;
然后使用上面的代码输出。
想一想为什么产出的是世界而不是蛋花汤。
构造函数
我们以前说过,这个()实际上是一个构造函数,所以很明显我们可以传递构造函数参数,所以有下面的代码:
Javascript
复制代码代码如下所示:
代码2.1
函数(hello){
如果(hello =未定义){
this.hello =世界;
{人}
this.hello =你好;
}
}
我们看到上面是否有一个奇妙(hello =未定义),判断有什么用第一种可能性是开发人员很难进入未定义的状态,而这一次它是未定义的。
还有一种情况,我们开始说Javascript是弱类型语言,不仅弱型,但也是一个非常不精确的传输参数,你可以更多的传记或邵传(只要你能保证你通过更多或更少,你可以确保程序不会犯错或逻辑不犯错误)原则,多通过参数自动忽略,而不是发送的参数会补充定义。
请看下面的代码。
Javascript
复制代码代码如下所示:
取代码2.1
VaR bar1 =新foo();
VaR bar2 =新foo(蛋花汤);
请输出Hello变量两杆和发现,一是世界的蛋花汤。很明显,我们首先通过观察时,Node.js bar1自动声明:
Javascript
复制代码代码如下所示:
Var bar1 = new foo (undefined);
这就是世界。
在这个构造函数,我们看到,传入的参数是你好有这类,this.hello.but正如我们前面提到的一个成员变量,当这个和这个都没有用,范围是不同的,这个参数只作用于构造函数,而这种联合是与这个成员变量。他们区分它们,立即,所以即使相同的名字并不重要。
成员函数
成员函数声明
成员函数的声明类似于成员变量的第二个声明性方法,即原型。=;
Javascript
复制代码代码如下所示:
取代码2.1
功能sethello(你好){
this.hello =你好;
}
foo.prototype.sethello = sethello;
bar1.sethello(蛋糕);
代码的上面部分是显而易见的,我们实施了Foo类的sethello功能,可以通过它修改的foo.hello价值。
但是写这个有点麻烦吗然后我将讨论Javascript函数的一个重要特性。
这个匿名函数。
大多数时候我们的一些函数在一个地方只引用或调用,然后我们有一个名字,这个函数不值得太多,没有必要,所以我们可以写这个临时函数,让人引用它来引用它,叫它人们叫它。这样函数就可以省略函数名了,比如:
Javascript
复制代码代码如下所示:
函数(hello){
this.hello =你好;
}
至于如何报价或打电话呢如果上面的类需要引用,它是这样写的。
Javascript
复制代码代码如下所示:
foo.prototype.sethello =功能(你好){
this.hello =你好;
}
这样的编写对于成员函数声明是有效的,并且节省了大量代码。事实上,基本类成员函数的声明是以匿名函数的形式声明的。
关于如何使匿名函数调用这通常用于传递只由函数调用的函数。
例如,我们有一个函数原型:
Javascript
复制代码代码如下所示:
我们将传递A,B两个变量,
*在计算a + b的值之后,它被赋予函数(数字)。
*执行输出
* /
功能sumab(A,B,func){
var;
Func(a,b,c);
}
例如,我们有两个版本的输出函数,一个是中文输出,另一个是英文输出,所以如果你不使用匿名函数,它是写的。
Javascript
复制代码代码如下所示:
功能(A,B,和ZH){
对console.log价值(++ + + + B +是:+和);
}
函数EN(a,b,和){
console.log(+++ B + +和);
}
sumab(1, 2,ZH);
sumab(3, 4,EN);
代码被执行,输出将是:
1 + 2的值是:3。
3加4等于7。
这样的代码将以匿名函数的形式存在:
Javascript
复制代码代码如下所示:
sumab(1, 2,功能(A,B,和){
对console.log价值(++ + + + B +是:+和);
});
sumab(3, 4,功能(A,B,和){
console.log(+++ B + +和);
});
这种形式通常用于回调函数。回调机制是Node.js或Javascript的本质。介绍将在以后的章节。
成员函数声明的匿名函数声明
尽管最后一节说了,让我们再说一遍。
通常,我们声明一个类的成员函数是由匿名函数声明的,因为这个函数是这个类的成员函数,它不会在其他地方被引用或调用,所以下面的代码是可用的。
Javascript
复制代码代码如下所示:
取代码2.1
foo.prototype.sethello =功能(你好){
this.hello =你好;
}
这样,我们有sethello Foo类的功能。
2.3.4随机性的。班
这又是我的废话。所谓的类的任意性是,在Javascript中,你可以在任何地方修改你的类,它与Ruby有一定的相似性。
例如,字符串,事实上,也是一类,与成员变量和成员函数如长度等指标和substr。但是如果我们认为字符串是不完善的,并要添加我们自己的方式,我们可以添加一个功能,这是你想要的,例如:
Javascript
复制代码代码如下所示:
string.prototype.sb =函数(){
VaR纽世达= ;
对于(var i = 0;i < this.length;i++){
如果(我% 2 = = = 0)纽世达= S;
其他纽世达=B;
}
返回纽世达;
};
这个函数的意思是填充一个字符串,使之成为某人的化身。
让我们来测试它。
复制代码代码如下所示:
嘘-蛋花汤正在睡觉;
console.log(str.sb());
你会得到结果的:
sbsbsbsbs
你跟你的电脑说花-蛋花汤睡觉,你的电脑,你将被称为四个白痴。
三.附属的
3.1。深拷贝
所谓的深层复制就是自己创建一个数组或对象,手动复制源数组或对象中的基本类型变量,而不是仅仅引用源数组或对象的引用,因此这涉及到递归调用。
下面是我实现的一个深拷贝函数。你可以写一个你自己并把它添加到你自己的js知识库。
Javascript
复制代码代码如下所示:
功能克隆对象(SRC){
VaR dest = { };
对于(var中的var键){
如果(typeof src=对象)DeST {key} =克隆对象(SRC {key});
其他dest {key} = SRC {key};
}
返回dest;
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。