摘要:节点(Node)类型Node接口定义了对应不同节点类型的12个常量(它们会在nodeType特性中使用到),IE中没有定义这些常量,不过我们可以自己定义。if (typeof Node == undefined) { Node = { ELEMENT_NODE : 1, ATTRIBUTE_NODE : 2, TEXT_NODE : 3, CDATA_SECTION_NODE : 4, ENTITY_REFERENCE_NODE : 5, ENTITY_NODE : 6, PROCESSIN...
阅读全文
摘要:作用域JavaScript的作用域与C、Java等语言不同,它不是以花括号包围的块级作用域,这个特性经常被大多数人忽视。例如下面代码,在大多数类C的语言中会出现变量未定义的错误,但在JavaScript中却完全合法:if (true) { var msg = 'msg';}console.log(msg); // 输出 msg;这是因为JavaScript的作用域完全是由函数来决定的,if、for语句中的花括号不是独立的作用域。函数作用域不同于大多数类C的语言,由一对花括号封闭的代码块就是一个作用域,JavaScript的作用域是通过函数来定义的,在一个函数中定义的变量只对这个
阅读全文
摘要:问题:给你一个表达式(当然是字符串),求这个表达式的值。在javascript中有一个简单的方法可以轻松实现,就是eval,代码如下:var expr = '-(-1)*(2+(7*5))';var ret = eval(expr);alert(ret);要是我们自己写一个这样的函数,那就得用到“栈”了。所谓栈,就是一种特殊的线性表,它遵循“后入先出”的原则,每次只能从栈顶一个一个的取出。这里用JavaScript语言模拟栈,代码如下:// 模拟一个栈function Stack(){ var stack = {}, top = -1; return { ...
阅读全文
摘要:最近在看汤姆大叔的《深入正解JavaScript》系列,虽然看得有点晕乎乎的,但也感到其乐无穷。非常感谢汤姆大叔的精彩讲解。今天看到了系列(20),然后后面有六道题目,详细通过这些题目也可以再次加深对JavaScript基础核心特性的理解。最后一个参考了下面的跟帖。(哈哈……我不是故意的)找出数字数组中最大的元素(使用Match.max函数)// 找出数字数组中最大的元素(使用Match.max函数)var numArr = [1, 2, 3, 4, 5];var maxNum = Math.max.apply(null, numArr);console.log(maxNum);转化一个数字数
阅读全文