“使用xxx”语句的名称是什么,以及如何读取该值?

时间:2015-07-28 11:00:29

标签: javascript

function myFunction(){
  "use asm"//what is this name
}

function getUseFromFunction(myFunction){//it should returns "use asm" string
  //???
}

某些页面称它为指令(例如w3schools),但我没有找到相关的通用名称。我找不到从函数中读取它的方法。我认为解析toString方法的结果有很多可能的错误机会。

3 个答案:

答案 0 :(得分:1)

它被称为指令序言,并在page 237 of ECMA-262 (section 14.1.1)上进行了描述(如果您使用PDF页码而不是打印的数字,则可以在第257页进行描述。)

无法从JavaScript中可靠地读取值。它旨在由底层JS编译器处理。

一些JS引擎允许您通过myFunction.toString()访问函数的源代码,此时您可以通过编写JS解析器来查找它。

答案 1 :(得分:0)

它确实是一个指令,基本上所有它都告诉浏览器如何读取/解释代码。您可以在此处阅读更多相关信息,因为canvas.append('text') .attr('x', parseInt(line.attr('x2') - line.attr('x1'))) .attr('y', parseInt(line.attr('y2') - line.attr('y1'))) .text('just looks a bit off'); 模式也是一个指令,但有更多/更清晰的文档:http://www.w3schools.com/js/js_strict.asp

编辑:但你不能读取函数或任何其他作用域使用的值,除非你想解析函数或作用域的来源,这是你不应该需要的,因为它是你不应该解决的问题的解决方案首先是。

答案 2 :(得分:0)

它是一个指令,它向js-engine(即浏览器)指示函数内的代码可以进一步优化,类似于"use strict"。 (有关详细信息,请参阅http://asmjs.org/

"use asm"不是myFunction

的返回值