问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js怎么学才能学好?

发布网友 发布时间:2022-04-22 05:34

我来回答

1个回答

热心网友 时间:2023-10-17 12:04


如何学习JS,在使用JS的过程中有很关键的小技巧,掌握了这个小技巧就可以轻松的知道如何学习JS,首先大家要知道,JavaScript函数是可以使用任意数量的参数的。相较于其他语言(如C#和Java)不同,你是可以在调用JavaScript函数的同时,也能传递任意数量的参数。JavaScript的函数允许未知数量的函数参数。在ECMAScript 6之前,JavaScript有一个变量来访问这些未知或可变数目的参数,这是一个类似数组的对象,并非一个数组。细想以下代码来理解arguments变量:
function add(){
var result = 0;
for(let i=0;i<arguments.length;i++){
result = result + arguments[i];
}
return result;
}
var r = add(6,9,3,2);
console.log(r);
var t = add(7,56,9);
console.log(t);如你所见,arguments对象用于访问未知或可变的函数参数。即使arguments使用length属性和方括号,它也不是一个真正的JavaScript数组。你不能对arguments对象使用其他JavaScript数组方法,如pop,push,slice等。在使用arguments时存在的一些问题是:
JavaScript函数arguments对象不是一个真正的JavaScript数组;因此,你不能使用其他数组方法,如pop,push,slice等。
在内部函数中访问外部函数的arguments对象是很困难的。要访问的话,你需要在变量中分配外部函数的arguments函数,然后在内部函数中使用它。
如果你想要使用arguments对象作为数组,那么你需要通过Aarry.prototype.slice手动转换。


ECMAScript 6引入了一个新功能,Rest参数,它表示一个未知数量的参数作为函数中的一个数组。它不仅将额外的参数表示为数组,还解决了arguments对象的许多问题。使用rest参数重写上面的add函数。
function add(...theArgs){
var result = 0;
for(let i=0;i<theArgs.length;i++){
result = result + theArgs[i];
}
return result;
}
var r = add(6,9,3,2);
console.log(r);
var t = add(7,56,9);
console.log(t);你可以将rest参数定义为?theArgs或? args。如果最后命名的函数参数以?(三个点)作为前缀,那么它将成为函数的rest参数。JavaScript函数的rest参数是纯JavaScript数组。在上面的代码中,?theArgs是函数add的rest参数,因为它是唯一的命名参数,且也以?(三个点)作为前缀。由于rest参数是JavaScript数组,所以你可以对rest参数theArgs执行诸如push,pop等操作,如下面的代码所示:
function add(...theArgs){
theArgs.push(10);
var result = 0;
for(let i=0;i<theArgs.length;i++){
result = result + theArgs[i];
}
var lastItem = theArgs.pop();
console.log(lastItem);
return result;
}JavaScript函数的rest参数也可以与其他参数一起工作。如果你不想在rest参数数组中包含特定参数的话,那么你可能需要在函数中使用其他命名参数。细想以下代码块:
function add(num1, num2, ...theArgs){
console.log(num1);
console.log(num2);
console.log(theArgs.length);
}
var r = add(6,9,3,2);
var t = add(7,56,9);对于第一次函数调用,6和9将分别分配给num1和num2。对于第二个函数调用,7和56将被分配给num1和num2。启动第三个参数的参数将被分配给rest参数数组。请记住,前两个参数不会成为rest参数数组的一部分。所以,如果你打算将所有的值都包含在rest参数中,那么你应该一开始就将它们定义为用逗号分隔的命名参数。下面给出的代码将会导致错误:
function add(num1, ...theArgs,num2){
console.log(num1);
console.log(num2);
console.log(theArgs.length);
}在上面的代码中,rest参数不是最后一个参数,所以JavaScript会抛出错误。rest参数必须是最后一个正式参数。
JavaScript允许你破坏rest参数,这意味着你可以将rest变量数据解包为不同的变量名称。请看下面的代码:
function add(...[a,b,c]){
return a+b+c;
}
var r = add(6);
console.log(r);
var t = add(7,56,9);
console.log(t);第一次函数调用,将分配a = 6,b = undefined,c = undefined,第二次函数调用,将分配a = 7,b = 56,c = 9。在此例子中,函数将忽略传递的任何额外的参数。
JavaScript函数的rest参数是对arguments对象使用函数未知参数的一个巨大改进。它是一个纯JavaScript数组;因此,你可以对它使用所有数组方法。你可以将rest变量数据解包到命名变量中。你可以给rest参数指定任何名称,这又是一个使用arguments关键字的重大改进。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果笔记本电脑能装window系统吗? hou are you hou are you I fien I fien这是什么 北半球中高纬度海区大洋环流流向是怎样的?东西两侧的洋流性质有何差异... 马上就要文理分科了,我初中的时候一直是理科比较好,从小也喜欢理科知识... ...在二流高中 高一数学物理化学不及格一塌糊涂 高二该选文科合适还是理... 女人无缘无故对谁都发脾气这是不是个病 吉林市解放中路120号到吉林大街怎么走 这是哪首歌的歌词“我们...有彼此" ...还在想着那件事,如果看过电影...CD,女生唱的!这是什么歌,急求... 我想购买部mp4 音质 视频质量要可以的 请问买哪个牌子的什么型号最好... 梦见黑色兔子变成黑色的鸭子 做银耳莲子汤要准备哪些东西 梦见兔子和小鸭子在洞里 猪肺莲藕莲子煲汤可以吃吗? 梦到自己养的小鸭子变成了孔雀 梦见养了很多鸭子? 莲藕和银耳可以一起吃吗 百合藕粉粥怎样做好吃? 莲子粉怎么做好吃,莲子粉的吃法 昨晚做梦梦到鱼鸭子兔子是什么意思 梦见一群兔子我一抓它变成了三只鸭子抓的鸭子有变... 泰国莲子粥怎么做 都是什么材料? 周公解梦 我梦到禽类,麻烦帮帮忙吧,我很想知道答... 梦见兔子和鸭子好不好? 莲子羹怎么做? 梦见我养了一只小兔子和一只小鸭子,求解梦 莲子羹是怎么做的. 梦见钱放在包里了都被人拿走了,还有一个女人也跑了... 街上卖的莲子羹的做法,那种透明的粉糊糊是什么东东? 梦见买鸭子变成了兔子 怎样学好JS? 怎么样才能学好js 如何才能学好javascript? 如何才能尽快的学会js啊,好难 如何学JS懂得快 怎样才能真正的把JS学好呢 怎样养成熟练的JS思路 脑子记不住 js学不会 没有逻辑思维 如何才能学好js? 药芹炒肉丝怎么做 可以不戴胸罩吗? 小芹菜炒肉怎么做好吃 第一次可以不戴避孕套吗? 可以选择不戴眼镜吗? 近视眼平时可以不戴眼镜吗 跑步时可不可以不戴眼镜? 芹菜炒肉丝的家常做法 为什么女人都喜欢戴文胸,可以不戴吗 在办公室没人的时候可以不戴胸罩和不穿内裤吗? 第一次可不可以不戴 去游泳不戴游泳帽可以吗