JavaScript迷你技巧

转载 2016年08月29日 09:11:36

一、在一个数组的最后添加一个元素
        myArray[myArray.length] = ‘New Element’;

二、使用“!!”把任意数据类型转换成Boolean
       这个技术可以让你使用“!!”把任意数据类型(比如string, number或integer)转换成Boolean。
       例如:
       var myString = ‘23255’; 
       typeof myString; //String      
       myString = !!myString; 
       typeof myString  //Boolean

三、了解一个函数需要多少个变量
    这是一个伟大的技巧,可以让你准确地知道一个函数需要多少个变量。
    例如:
    function add_nums(num1, num2){ 
        return num1 + num2; 
    } 
    add_nums.length;

四、Boolean注意它们之间的区别,因为这会节省你调试脚本的时间

    ” == ‘0’          // false 
    0 == ”            // true 
    0 == ‘0’           // true 
    false == ‘false’   // false 
    false == ‘0’       // true 
    false == undefined // false 
    false == null      // false 
    null == undefined  // true 
    true == 1          // true 
    ” == null         // false 
    false == ”        // true

五、for循环

在for循环中你会去迭代一些数组元素或者一些HTML元素。for循环常常如此:

    for (var i = 0; i < myarray.length; i++) { 
       // do something with myarray[i] 
    }

这样写的问题在于,每一次迭代的时候都会计算数组的长度,尤其在这个参数不是一个数组而是一组HTML元素的时候会降低你的程序的性能。

HTML元素的集合在页面上,这样每次都会去再页面上查找相应的元素,这是非常耗时的。所以对于for循环,你需要预先保存数组的长度,这样写:

for (var i = 0, max = myarray.length; i < max; i++) { 
// do something with myarray[i] 
}

这样缓存了参数的长度,在每次迭代的时候就不用再去查找计算了。

六、”this”究竟是什么

javascript中的”this”是函数上下文,不是由声明决定,而是由如何调用决定.因为全局函数其实就是window的属性, 所以在顶层调用全局函数时的this是指window对象,而在对象中调用函数时this指向当前对象.

七、typeof与instanceof的区别

typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,string,object,undefined,function.语法为typeof(data) 或 typeof data

instanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型
语法为 o instanceof A


兄弟连IT教育为你解决更多IT类问题。


前端JavaScript面试技巧全套

第1章 课程简介 从几个常见面试开始,讨论针对一个题目的分析思路,总结题目对应的知识点。最后列出所有 JS 知识点的集合 —— JS 知识体系框架。 第2章 JS基础知识(上) 讲解 J...
  • zhangye19920611
  • zhangye19920611
  • 2017年12月09日 16:37
  • 248

JavaScript 编写的迷你 Lisp 解释器

感谢@李欲纯 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】 Little Lisp是一个解释器,支持函数调用、lambda表达式、 变量绑定(let)、数字、字符串、...
  • novelly
  • novelly
  • 2013年10月10日 18:10
  • 586

JavaScript奇淫技巧(一)

if-else简化写法 代码中若出现多层if-else嵌套,代码就会显得臃肿不堪,这时可采用替代方案来浓缩代码。...
  • u010425776
  • u010425776
  • 2016年10月29日 20:21
  • 1380

慕课网:Web前端面试题目及答案汇总

HTML/CSS部分 1、什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元...
  • dongyang0311
  • dongyang0311
  • 2016年06月29日 14:44
  • 11629

JavaScript初学者的10个迷你技巧

1,在一个数组的最后添加一个元素这个技巧可以让你使用Length属性在一个数组的最后添加一个元素,因为Length属性比数组的最后一个元素的下标多1。这个方法和“push”方法是相同的。例如: var...
  • bl1988530
  • bl1988530
  • 2011年04月20日 15:27
  • 987

(OTHER)JavaScript初学者的10个迷你技巧

1,在一个数组的最后添加一个元素 这个技巧可以让你使用Length属性在一个数组的最后添加一个元素,因为Length属性比数组的最后一个元素的下标多1。这个方法和“push”方法是相同的。例如: ...
  • zpf644792799
  • zpf644792799
  • 2011年08月15日 23:55
  • 192

JavaScript高级技巧

下述内容主要讲述了《JavaScript高级程序设计(第3版)》第22章关于“高级技巧”。 一、高级函数函数是第一等公民,所有函数都是对象。1. 安全的类型检测JavaScript内置的类型检测机制并...
  • ligang2585116
  • ligang2585116
  • 2016年05月05日 21:13
  • 6237

mini-editor项目设计介绍(一个基于Javascript的Web编辑器)

一、源码路径 https://github.com/weiganyi/mini-editor   二、背景 网上有许多开源的Web编辑器项目可以方便我们使用,但是它们的功能通常都比较丰富,体积也较大,...
  • gary531
  • gary531
  • 2013年11月22日 11:46
  • 2744

朴素贝叶斯---最佳分类器

最佳分类器 sample_memo = ”’ Milt, we’re gonna need to go ahead and move you downstairs into storage B. ...
  • viptung
  • viptung
  • 2017年12月13日 01:04
  • 128

win10下如何快速安装迷你迅雷

因迷你迅雷签名早已经过期,现在win10下已经不可以正常的安装迷你迅雷了 最快速的方法就是启用administrator用户,用这个安装就可以了,不需要任何设置如上图启用administrator就...
  • varding
  • varding
  • 2016年02月05日 20:20
  • 4279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript迷你技巧
举报原因:
原因补充:

(最多只允许输入30个字)