如果你是一个JavaScript新手或仅仅最近才在你的开发工作中接触它,你可能感到沮丧。所有的语言都有自己的怪癖(quirks)——但从基于强类型的服务器端语言转移过来的开发人员可能会感到困惑。我就曾经这样,几年前,当我被推到了全职JavaScript开发者的时候,有很多事情我希望我一开始就知道。在这篇文章中,我将分享一些怪癖,希望我能分享给你一些曾经令我头痛不已的经验。这不是一个完整列表——仅仅是一部分——但希望它让你看清这门语言的强大之处,可能曾经被你认为是障碍的东西。

我们将看下列技巧:

  1. 相等
  2. 点好vs括号
  3. 函数上下文
  4. 函数声明vs函数表达式
  5. 命名vs匿名函数
  6. 立即执行函数表达式
  7. typeof vs Object.prototype.toString

1.) 相等

C#出身的我非常熟悉==比较运算符。值类型(或字符串)当有相同值是是相等的。引用类型相等需要有相同的引用。(我们假设你没有重载==运算符,或实现你自己的等值运算和GetHashCode方法)我很惊讶为什么JavaScript有两个等值运算符:==和===。最初我的大部分代码都是用的==,所以我并不知道当我运行如下代码的时候JavaScript为我做了什么:

var x = 1;

if(x == "1") {
    console.log("YAY! They're equal!");
}

更多相关文章

  1. 使用超类中的构造函数
  2. JavaScript中的map()函数
  3. 自定义MapReduce输入格式 - 找不到构造函数
  4. 关于webview中java调用js函数(解决loadUrl函数没反应)
  5. 使用Java中的Scala:将函数作为参数传递
  6. 关于Javascript中声明变量、函数的笔记
  7. 异步执行多个任务并在JavaScript函数中返回第一个成功的结果

随机推荐

  1. CheckBox as Image use button
  2. (已解决)Android Studio JVM报错解决方案
  3. Android音频开发(3):使用AudioRecord实现录
  4. android 只能输入数字和字母并且弹出数字
  5. Android Binder原理(一)学习Binder前必须要
  6. Android消息循环
  7. 系出名门Android(1) - 在 Windows 下搭建
  8. ch022 Android Handler
  9. 【Android布局】在程序中设置android:gra
  10. android分辨率适配