js匿名函数

var names = "abc"
(function(str){
    console.log(str)
})(names)

这段代码为什么报错?

阅读 1.4k
2 个回答
var names = "abc"

;(function(str){
    console.log(str)
})(names)

或者

var names = "abc";

(function(str){
    console.log(str)
})(names)

楼主可以参考下这篇文章 https://www.zhihu.com/questio...

文博正解:

第一 ;分号在js里代表着语句的终结; 一般情况下, js确实是不用非得写分号结尾的,可以省略. 但有极个别情况必须写分号;

第二 比如以上这种情况是必须写分号的;()在js里表示函数执行; 当然还有几种情况, 比如:

var a
a(1+2)

再比如
var c = a + b
(a + b).toString()

加上分号就不报错了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏