不同于其他的编译性语言Java,C等,运行前需要将其编译为机器语言的文件,JavaScript在运行程序的时候才翻译,即JavaScript时一门解释性脚本语言。
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成机器语言,运行时不需要重新翻译,直接使用翻译结果。
JavaScript解释与执行:
解释:
JavaScript代码块在执行时先由解释器进行解释,主要是声明所有var变量(并未初始化,当前值为undefined),解析声明式函数语句。
JavaScript之最值:
function max(arr) {
return Math.max.apply(null, arr)
}
JavaScript数组去重:
//第一种
function uniqueArray(arr) {
var res=[arr[0]]
for(var i = 1; i < arr.length; i++) {//从第二项开始遍历
//若数组第i项在当前素组中下标不是i,则说明第i项重复,应忽略。否则存入结果数组
if(arr.indexOf(arr[i]) == i) {
res.push(arr[i])
}
}
return res;
}
//第二种:
function uniqueArray(arr) {
var _hash={}, result=[];
for(var i = 0; i < arr.length; i++) {
if(!_hash[arr[i]]) {
_hash[arr[i]] = true;
result.push(arr[i])
}
}
return result;
}