看下有多少个 PHPer 能答对这道前端 js 题目?

2017-04-19 18:44:46 +08:00
 qwe3364925
(function(){var a = b = 5;})();

请问
console.log(a);
console.log(b);
分别会输出什么?
3011 次点击
所在节点    PHP
19 条回复
b821025551b
2017-04-19 18:51:14 +08:00
两个 5
Clarencep
2017-04-19 18:55:13 +08:00
干净的环境中( a 和 b 都没有定义过):
1. 非严格模式下, a 会报错, b 是 5 ;
2. 严格模式下直接报错 over



来而不往非礼也, LZ 来试试这个:

console.log('a b c ' + '1 2 3'.split(' ').map(parseInt)); // 输出什么?
bdbai
2017-04-19 19:14:15 +08:00
js 跟 PHP 有什么关系
chunqiuyiyu
2017-04-19 19:18:36 +08:00
js 跟 PHP 有什么关系 +1
iot
2017-04-19 19:30:55 +08:00
我 php 、 web 前端都做过全职
jarlyyn
2017-04-19 19:35:59 +08:00
这种题目出出来的人应该被开除。
IamJ
2017-04-19 19:44:13 +08:00
如果组内有人写出这样的代码我就打断他的腿🤓
gamecreating
2017-04-19 19:45:52 +08:00
有些人 总爱咬字 钻洞
@bdbai
@chunqiuyiyu
Phariel
2017-04-19 19:46:13 +08:00
@IamJ #7 我会在开会的时候狠狠地喷这种人的,相信我
lalalanet
2017-04-19 19:47:35 +08:00
(function(){
var a = b = 5;
console.log(a); // 5
console.log(b); // 5
})();


----
(function(){var a = b = 5;})();

console.log(a); // error
console.log(b); // error
btjoker
2017-04-19 20:02:05 +08:00
a 未定义
b 变成全局变量为 5
现在敢在项目里这样写的, 坟头草都割了好几茬了
bdbai
2017-04-19 20:11:34 +08:00
@gamecreating 观念问题。凭什么写 PHP 的要顺手把 js 也写了。
hizoubin
2017-04-19 20:12:04 +08:00
这样写不符合代码规范的 腿都要被打断
johnnie502
2017-04-20 03:01:30 +08:00
一道考 IIFE 的题,知道的就知道,不知道的就不知道,还不如直接问问啥事 IIFE
jianzhiyao020
2017-04-20 09:32:22 +08:00
undefined
5
araraloren
2017-04-20 09:39:31 +08:00
~~ 很讨厌 js 的变量提升,
有 ES6 ~~
let 一波。。
qwe3364925
2017-04-20 10:41:34 +08:00
@hizoubin 哈哈哈哈, 我也是在面试题中看到的, 勿喷我
byfar
2017-04-20 13:18:22 +08:00
a:Uncaught ReferenceError: a is not defined
at <anonymous>:1:1
b:5

我有控制台
byfar
2017-04-20 13:20:49 +08:00
对了,如果两行输出在一个 js 里,第一个报错,第二个也不执行了吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/355975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX