Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

function的语法差异问题

  function通常有这样两种用法 //作为语句
function a(){};
//作为表达式
var b=functino(){};
  作为语句的function有在当前作用域中绝对的优先级,也就是之前说的语句优先级问题。但是一个function可以同时作为表达式和语句吗?下面是测试代码 //同时作为表达式和语句
var a=function b(){};
//输出结果
console.log(a);
console.log(b);

  上面的这个代码只有IE8-中,变量b才是有定义的,也就是说只有在IE8-的浏览器中function才可以同时作为语句和表达式来使用,现代浏览器则没有这种通用的功效。
  除此之外还有一个无引用匿名函数的问题值得注意。一个你们函数如果没有引用的话它在代码中就是无效的,普通的编程语言中出现无效代码,编译器会发出一个警告。而在JavaScript中,现代浏览器都这种情况是直接报错表示不允许的。而IE8-是无视这种情况的。 //被括号运算符引用的匿名函数
(function(){});
//完全无引用的匿名函数
function(){};

  函数的语法问题目前就整理出这些了,以后遇到再另外写文章吧。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^