美文网首页
一个分号引起的语法错误

一个分号引起的语法错误

作者: 半ma | 来源:发表于2018-03-18 13:37 被阅读16次
function Person() {}
Person.prototype.setName = function(name) {
  this.name = name;
}


(new Person()).setName('XiaoMing')

写一段测试脚本,原本没想到有问题,为了谨慎起见还是在console里面跑来一下,然后报了错误:

没想到是什么原因,开始了各种尝试。

拆开写也是OK的


后来请教别人发现是少了一个;,导致的语法报错。在prototype的赋值语句后面增加了一个;就OK了。

function Person() {}
Person.prototype.setName = function(name) {
  this.name = name;
};

(new Person()).setName('XiaoMing')

不知道从什么时候起,已经不习惯在末尾加分号了。这导致语法在实际运行的时候是这个样子的。

function Person() {}

Person.prototype.setName = function(name) {
  this.name = name;
}(new Person()).setName('XiaoMing')

然后

function(name) {
  this.name = name;
}(new Person())

变成了一个立即执行函数。这个函数没有返回值所以是undefined,然后报了那样的错误。

相关文章

  • 一个分号引起的语法错误

    写一段测试脚本,原本没想到有问题,为了谨慎起见还是在console里面跑来一下,然后报了错误: 没想到是什么原因,...

  • ;(function($,undefined){})(jQuer

    1、“;”分号的使用:是为了防止文件压缩合并时,其他文件最后一行语句没有加分号从而引起合并后的语法错误。2、"(f...

  • 自调函数为什么要把 window 和 undefined 作为形

    代码最前面的分号,可以防止多个文件压缩合并因为其他文件最后一行语句没加分号,而引起合并后的语法错误 通过传入win...

  • 权威指南读书笔记 第一部分

    关于省略分号的换行 javascript在解析时,会把省略分号的行与下一行一起解析,当不构成语法错误时回合为一行,...

  • js语句基本规则

    1.语句后面要用分号结束; 函数后面不用加,for循环后面不用加,if条件后面不用加 2.js语法错误会引发后续代...

  • 2018-07-13

    1.语句后面要用分号结束; 函数后面不用加,for循环后面不用加,if条件后面不用加 2.js语法错误会引发后续代...

  • 有分号和没分号的区别

    JavaScript 语句后应该加分号么? 通常情况下,解释器会自动添加分号,但有些时候不加分号还是容易引起解析错...

  • Python官方教程阅读总结-错误和异常

    python中有两类显著的错误:语法错误和异常 1. 语法错误 不符合python的错码书写规范引起的错误,例...

  • JSON

    json格式要求 所有字符串必须使用双引号(单引号会导致语法错误) 没有末尾的分号 可以表示 字符串,数值,布尔值...

  • 程序执行中的各种错误类型

    Syntax error: 编译器或者解释器负责找出来,这些错误就是所谓语法错误,比如说行末尾该有括号或者分号没加...

网友评论

      本文标题:一个分号引起的语法错误

      本文链接:https://www.haomeiwen.com/subject/nhvrqftx.html