我目前正在阅读John Resig JavaScript Ninja一书。 在那里,他写道,功能具有超强的功能"可执行的。
我不明白什么是可执行的"装置
这是否意味着JavaScript解释器将存在的字符串作为字符串并将其转换为机器代码?然后由CPU执行哪个? 但在这种情况下:其他数据也由CPU处理。区别在哪里?
有人可以解释术语"可执行文件"以某种非计算机科学毕业生可以理解的方式?
答案 0 :(得分:3)
我假设一个更简单的解释:它意味着可以调用一个函数(作为一个特殊对象),而一般的对象可能不是。
var foo = function() {};
foo(); // call or "execute" it
var bar = {};
bar(); // TypeError: bar is not a function
从硬件和操作系统的POV中可以看出(不可执行的)数据和可执行指令的区别,但是像javascript这样的高级语言旨在让人们摆脱这些细节。
答案 1 :(得分:0)
这意味着函数是cpu可以执行的一组指令。与其他编程结构(如变量和对象)相比,它只是保存数据,这是一种特殊的...
特别是像javascript这样的语言,其中函数是对象。 "可执行"是特殊的。
像这样的像。a
是变量对象,表示它包含数据
a = 10
计算机知道a
具有值10
,但它不知道它意味着什么,或者如何处理它。
另一方面,功能对象包含指令
function a(){do{...}while(b=10)}
计算机知道如何处理这个问题。它可以接受a
的指令并逐个执行..