`

javascript的一些细节知识

 
阅读更多
最近这段时间大多时候都在调试页面,弄了很久也不太满意,怒了,回去专门看了几天的关于CSS的书,带着些惊恐还是决定试下,基本上搞定了,从此后对页面布局样式等不再感到那么无助与厌恶了。看来以前之所以进步不大,那是压力不够啊!
最近看了下dwr这个东西,虽然很久没更新了,现在项目中用得还是比较多,虽然本人也知道它性能不太好,但用起来确实方便,没办法。所以决定有空好好看看它的实现方式。从中也学到了不少东西。
1.一个方法实现多种参数方式的调用。
如append方法,如果只有一个调用可以这样:
function append(a) {
  return a;
}

如果有两个参数,正常情况下得再写个方法:
function append(a,b) {
  return a+b;
}

有没有可能只写一个方法就能搞定呢?虽然以前不知道,但现在知道了,那就是有!
新式写法:
function append(a/*,b*/) {
  var argcount = arguments.length;
  var lastarg = arguments[argcount - 1]; 
  var arg=0;
  if(argcount>1){
    arg=lastarg;
    return a+b;
  }
  return a;
}

上面的例子稍微再改装下,就可以适用于3个或者更多的参数了:
function append(a/*,b*/) {
  var argcount = arguments.length;
  if(argcount>1){
    var sum = a;
    for(var i=1;i<argcount;i++){
       sum = sum+arguments[i];
    }
    return sum;
  }
  return a;
}

现在就可以直接使用了:
function foo() {
 alert(append(10));
 alert(append(2,3,4,5));
}


2.javascript中的==与===的区别
http://bonsaiden.github.com/JavaScript-Garden/
上面这个链接讲得还算详细,虽然是英文的,总结下就是,==比较会先将两边的值转换成同样的类型,然后再进行比较,此举在性能上也有所影响。而===则按照严格的规则,不进行任何转换,与java的对象比较差不多,不但值要相同,引用也要一样。所以基本上都推荐用===来进行比较。

3.undefined 与null
undefined 这个东西平时虽然有见过,但基本上没用过,javascript定义了一个叫undefined 的全局变量,同时该全局变量的值也叫undefined,它既不是关键字也不是常量,所以可以手动覆盖它的值。会出现undefined的地方有以下几种情况:
  (1).访问全局变量undefined
  (2).访问一个没有return的函数
  (3).访问一个只包含return;没有给定具体值的函数
  (4).访问一个不存在的属性
  (5).访问没有传入明确的参数的函数
至于null,在javascript内部用得比较多,基本上能用null的地方都可以用undefined替代。

4.访问函数参数arguments
每个函数都可以访问变量arguments,它包含所有的函数参数值,不过arguments并不是一个数组,因此pop、push与slice等方法不能使用,不过用还是可以使用for循环的访问遍历,即:
for(var i=0;i<arguments.length;i++){
       alert(arguments[i]);
 }

5.闭包
其实闭包这种东西本人很少用过,本来写的js代码就不多,怎么能用到这些高级货呢?先给个例子:
function Counter(start) {
    var count = start;
    return {
        increment: function() {
            count++;
        },

        get: function() {
            return count;
        }
    }
}
var foo = Counter(4);
foo.increment();
foo.get(); // 5

其中上面的increment与get函数就是闭包,这个东西与java的内部类比较相似。
分享到:
评论

相关推荐

    一套JavaScript 语言基础知识点总结

    以上是JavaScript语言基础的概览,每个话题都包含了丰富的细节和实际应用,对于初学者来说,理解并掌握这些知识点是成为合格的JavaScript开发者的第一步。通过不断练习和项目实践,你将能够运用这些知识构建出复杂的...

    javascriptAPI,javascript参考资料,javascript

    现在,让我们详细探讨 JavaScript 的一些关键知识点: 1. **变量和数据类型**:JavaScript 支持动态类型,意味着变量可以存储不同类型的值,如数字、字符串、布尔值、null、undefined、对象等。此外,ES6 引入了新...

    Javascript及Web基础知识培训

    早期的浏览器市场竞争导致了标准不一致的问题,例如,Internet Explorer支持的JScript虽然与JavaScript兼容,但在细节上存在差异。 #### 二、JavaScript基础 - **数据类型**:JavaScript中有多种基本数据类型,包括...

    JavaScript语言精粹完整版

    通过阅读本书,你将获得对JavaScript语言更深层次的理解,掌握其实现复杂功能的技术细节,从而成为一名更加优秀的JavaScript开发者。无论是对于个人技术成长还是团队项目开发,这本书都是不可或缺的宝贵资源。

    JavaScript学习指南 高清 PDF

    下面,我们将深入探讨JavaScript的一些关键知识点。 1. **基础语法**:JavaScript的基础包括变量、数据类型(如字符串、数字、布尔值、null、undefined)、操作符(算术、比较、逻辑)、流程控制(条件语句、循环...

    javascript面试应急知识点小结

    以上内容涵盖了JavaScript面试中的重要知识点,但实际面试可能会涉及更多细节,如DOM操作、Ajax、正则表达式、设计模式等。持续学习和实践是提升JavaScript能力的关键。对于深入理解,可以参考《JavaScript权威指南...

    Javascript完全自学宝典

    ### JavaScript完全自学宝典知识点概览 #### 一、JavaScript基础知识 1. **网页开发入门篇:HTML、XHTML、CSS与JavaScript入门经典** - **核心知识点**: - HTML与XHTML的基础语法和语义化标签。 - CSS的选择器...

    Effective JavaScript 编写高质量JavaScript代码的68个有效方法1

    第一章主要涉及JavaScript的基础知识。在这里,作者强调了不同JavaScript版本之间的差异,特别是ECMAScript规范的演变,这对于理解代码的兼容性至关重要。此外,他还探讨了类型转换的细节,因为JavaScript是一种动态...

    JavaScript函数式编程.pdf

    由于提供的文件信息中,【标题】和【描述】并未给出具体的内容细节,仅提供了文档名称和版权声明,并且【部分内容】中提供的链接信息重复,并不构成实际的文本内容,因此无法从中提取具体的知识点。不过,由于【标题...

    Javascript 面向对象的JavaScript进阶

    ### JavaScript面向对象进阶知识点详解 #### 8.1 面向对象编程的基本特性 在探讨面向对象的JavaScript之前,我们首先需要了解面向对象编程(Object-Oriented Programming, OOP)的基本特性:封装性、抽象性、继承...

    现代JavaScript教程

    一、JavaScript基础知识 JavaScript的基础包括变量、数据类型(如字符串、数字、布尔值、null、undefined)、操作符(算术、比较、逻辑、赋值等)、流程控制(条件语句、循环结构)以及函数。这些是所有JavaScript...

    javascript向flash swf文件传递参数值注意细节

    要使用JavaScript向SWF...通过上述知识点,我们可以系统地了解如何使用JavaScript向SWF文件传递参数,并且能够理解这一过程中的技术细节和潜在问题。在实际应用中,根据项目的具体需求和环境配置来灵活地运用这些知识。

    JavaScript入门学习资料包

    接下来,"JavaScript使用手册"可能包含了JavaScript的语法细节和常见API的使用方法,例如Date对象、Math对象、字符串和数组的方法,以及如何使用正则表达式进行模式匹配。此手册可能还涵盖了一些高级特性,如闭包、...

    Effective JavaScript.2014.pdf

    7. 掌握JavaScript语言的细节:通过阅读本书,读者可以达到对JavaScript的深入、系统且实用的理解,这对于真正掌握JavaScript的力量至关重要。 综上所述,《Effective JavaScript》不仅提供了对JavaScript语言的...

    Object-oriented-javascript

    4. **设计模式**:介绍一些在JavaScript中常用的面向对象设计模式,如工厂模式、单例模式、观察者模式等。 5. **模块化和命名空间**:讲解如何组织和管理代码,通过模块化和命名空间来避免变量冲突和提高代码的可...

    JavaScript初学者应注意的七个细节小结

    标题中提到的知识点是"JavaScript初学者应注意的七个细节小结",这里说明了JavaScript初学者在学习这门语言时需要注意的一些关键细节,这些细节对于提高代码质量、优化代码结构、加深对JavaScript特性的理解至关重要...

    《深入浅出JavaScript》PDF版本下载.txt

    下面我们将基于这个前提,围绕“深入浅出JavaScript”这一主题进行知识点的展开。 ### 深入浅出JavaScript概览 #### 一、书籍简介 《深入浅出JavaScript》是一本针对前端开发者及对JavaScript感兴趣的技术人员编写...

    JavaScript动态网页开发详解——JavaScript特效

    在“全书配套269个JavaScript特效”中,涵盖了以上所述的各个知识点,并通过实例展示了它们的实际应用。通过学习这些特效,你可以提升网页的交互性和视觉吸引力,使你的网站在众多网页中脱颖而出。无论是简单的页面...

Global site tag (gtag.js) - Google Analytics