新足迹

 找回密码
 注册

精华好帖回顾

· Lanshan:双色抹茶饼干和巧克力大理石饼干(有多图) (2011-3-12) lanshan · 信用卡全面更新澳洲6大银行综合评比!! (2012-9-4) wxxnxs
· 从L牌到P牌之路 (2006-12-10) youyuan · 热腾腾的鸡汤馄饨.... (2007-10-24) Mylittlelover
Advertisement
Advertisement
查看: 3246|回复: 20

[IT] JavaScript技术测题遇到的一个问题,请教一下 [复制链接]

发表于 2018-10-29 11:26 |显示全部楼层
此文章由 Keith 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Keith 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这段代码问题在哪里?


谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
Advertisement
Advertisement

发表于 2018-10-29 11:40 |显示全部楼层
此文章由 violentlily 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 violentlily 所有!转贴必须注明作者、出处和本声明,并保持内容完整
i* 1000, 这个不对,不是要every second吗?

发表于 2018-10-29 11:43 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
  for (var i=1;i<100;i++){
       
        print(i);
        }

function print(i)
{
setTimeout(function(){console.log(i); }, i*1000);
}

发表于 2018-10-29 11:51 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
或者

for (var i=1;i<100;i++){
        var f=(j)=>setTimeout(function(){console.log(j); }, i*1000);
        f(i);
        }

评分

参与人数 1积分 +4 收起 理由
Keith + 4 太给力了

查看全部评分

发表于 2018-10-29 12:00 |显示全部楼层
此文章由 pengruijun 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pengruijun 所有!转贴必须注明作者、出处和本声明,并保持内容完整
The problem is inside arrow function share the same "i" . you have to separate them as suggestion as above.
https://stackoverflow.com/questi ... -consecutive-values

评分

参与人数 1积分 +4 收起 理由
Keith + 4 感谢分享

查看全部评分

发表于 2018-10-29 12:06 |显示全部楼层
此文章由 kaixinkaixin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kaixinkaixin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 kaixinkaixin 于 2018-10-29 12:11 编辑

恩,不能实现每秒输出一个数递增。原题输出的都是最后的结果i。最简单方法方法,for循环里的var i换成let i就能实现。作用域的问题。

评分

参与人数 4积分 +11 收起 理由
chloetop + 2 我很赞同
Garnny + 2 你太有才了
上班ing + 3 感谢分享

查看全部评分

Advertisement
Advertisement

发表于 2018-10-29 12:07 |显示全部楼层
此文章由 12345678901234 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 12345678901234 所有!转贴必须注明作者、出处和本声明,并保持内容完整
i*1000 的话暂停时间会随着 i 的变化而变化。

发表于 2018-10-29 13:51 来自手机 |显示全部楼层
此文章由 gzrain 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 gzrain 所有!转贴必须注明作者、出处和本声明,并保持内容完整
典型的js对scope/callback理解的题目,现在js入门都是直接上framework,有多少还理解语言本身底层概念呢,估计知道prototype干啥用的都少了

评分

参与人数 1积分 +4 收起 理由
Keith + 4 我很赞同

查看全部评分

发表于 2018-10-29 18:18 来自手机 |显示全部楼层
此文章由 浮云马 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 浮云马 所有!转贴必须注明作者、出处和本声明,并保持内容完整
楼上+1

即使会用再多framework,不懂基础知识(eg js closure)也没用,早晚会出大bug。



评分

参与人数 1积分 +4 收起 理由
audreamer + 4 我很赞同

查看全部评分

发表于 2018-10-29 18:25 来自手机 |显示全部楼层
此文章由 Robin NSW 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Robin NSW 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不明觉厉

发表于 2018-10-29 21:33 |显示全部楼层
此文章由 Vurav 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Vurav 所有!转贴必须注明作者、出处和本声明,并保持内容完整
lz,这道题目是多少年薪或day rate的职位啊?
Advertisement
Advertisement

发表于 2018-10-30 22:05 |显示全部楼层
此文章由 swe 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 swe 所有!转贴必须注明作者、出处和本声明,并保持内容完整
基础题

发表于 2018-10-30 22:32 来自手机 |显示全部楼层
此文章由 jerryinau 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryinau 所有!转贴必须注明作者、出处和本声明,并保持内容完整
event loop and closure 复习一下

发表于 2018-11-17 09:34 |显示全部楼层
此文章由 super_oliver 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 super_oliver 所有!转贴必须注明作者、出处和本声明,并保持内容完整
要么用closure,要么用let

发表于 2018-11-18 17:40 |显示全部楼层
此文章由 xmj 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 xmj 所有!转贴必须注明作者、出处和本声明,并保持内容完整
浮云马 发表于 2018-10-29 18:18
楼上+1

即使会用再多framework,不懂基础知识(eg js closure)也没用,早晚会出大bug。

如果框架真的好的话,想不出会有什么问题

我也可以同样说,如果不懂汇编,只写高级语言,迟早会出大问题吗?
或者如果不懂机器语言,只懂汇报,迟早会出大问题吗
如果不懂电路原理,只懂写代码,迟早会出大问题吗

发表于 2018-11-18 19:31 |显示全部楼层
此文章由 dows026 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dows026 所有!转贴必须注明作者、出处和本声明,并保持内容完整
没见过   ()=>{   的写法
Advertisement
Advertisement

发表于 2018-11-19 02:29 来自手机 |显示全部楼层
此文章由 浮云马 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 浮云马 所有!转贴必须注明作者、出处和本声明,并保持内容完整
xmj 发表于 2018-11-18 17:40
如果框架真的好的话,想不出会有什么问题

我也可以同样说,如果不懂汇编,只写高级语言,迟早会出大问题 ...

比如懂Java语言但是不懂JVM,简单的工作是没问题,但是复杂点对性能有要求的程序,我是不放心这样的程序员去写

发表于 2018-11-19 03:17 来自手机 |显示全部楼层
此文章由 novogaga 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 novogaga 所有!转贴必须注明作者、出处和本声明,并保持内容完整
xmj 发表于 2018-11-18 17:40
如果框架真的好的话,想不出会有什么问题

我也可以同样说,如果不懂汇编,只写高级语言,迟早会出大问题 ...

前端框架最后会被翻译成浏览器明白的js代码。

但是你实现某个具体功能的函数,框架帮不了你。

比如这段代码,不管放到angular还是react里面,都会出错

评分

参与人数 1积分 +2 收起 理由
gzrain + 2 我很赞同

查看全部评分

发表于 2018-11-19 10:00 |显示全部楼层
此文章由 xmj 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 xmj 所有!转贴必须注明作者、出处和本声明,并保持内容完整
novogaga 发表于 2018-11-19 03:17
前端框架最后会被翻译成浏览器明白的js代码。

但是你实现某个具体功能的函数,框架帮不了你。

这段就不是符合规范的js代码
在我们项目中lint一定会报错,一定会要求你把var改成let

发表于 2018-11-19 10:06 |显示全部楼层
此文章由 xmj 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 xmj 所有!转贴必须注明作者、出处和本声明,并保持内容完整
浮云马 发表于 2018-11-19 02:29
比如懂Java语言但是不懂JVM,简单的工作是没问题,但是复杂点对性能有要求的程序,我是不放心这样的程序 ...

这要看人

比如我们项目程序员来面试,我们直接考模拟电路
数电模电都不会,这种程序员我们不要

对了,我们还要考钻木取火,不许用任何现代工具,那都不靠谱
凡是不会钻木取火基础技能的,统统不能要

发表于 2018-11-20 15:02 来自手机 |显示全部楼层
此文章由 novogaga 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 novogaga 所有!转贴必须注明作者、出处和本声明,并保持内容完整
xmj 发表于 2018-11-19 10:00
这段就不是符合规范的js代码
在我们项目中lint一定会报错,一定会要求你把var改成let ...

这算是一个特例吧,这里可以改掉,但是不懂作用域的人还是不懂,总会有别的什么地方会犯错。

基础知识还是需要很扎实才行
Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部