javascript

JavaScript Trick (1)

1. 立即执行匿名函数 !function () { // code goes here }(); +function () { // code goes here }(); ~function () { // code goes here }(); 分析 以上代码作用都是声明一个匿名函数,并且立即执行。最常见的立即执行匿名函数的写法是: (function () { // code goes here })(); 先来解释一下这个常见的立即执行匿名函数的原理。 整个代码块其实可以这样分析: ( function () { } )() 其实就是看成是两对括号,然后一个匿名函数放在第一对括号里面。当 JavaScript 解释器遇到一对括号 () 的时候会把里面的内容解释成一个表达式。于是乎,括号内的匿名函数就先被执行了。

  • serenader
    serenader
3 min read
javascript

(function(window, undefined){})(window)这种写法的原理

在看一些 jQuery 插件的时候经常会看到这样的写法: (function(window, undefined){ ... //code goes here })(window) 或者这样的: (function($, window, undefined){ ... //code goes here })(jQuery, window) 其实上面两个例子从根本上讲是一样的。 为何要在匿名函数中传入 $ 和 window 和undefined 形参呢? 先来说说前两个形参。 JavaScript 的解析器解析代码其实是从里到外解析的,也就是说,解析器会先解析函数内部的代码,然后再解析函数外部的代码。这样的话,如果我们在函数内部引用了

  • serenader
    serenader
5 min read
javascript

<script> 标签应该放在 HTML 页面中的哪里?

首先说说浏览器在下载 JS 文件时情况是怎样的。 在低版本浏览器中,当页面载入时,浏览器解析到 JavaScript 标签时,如果是外链 JS 文件的话,则会开始下载 JS 文件,并且会阻塞其他文件的下载,比如排在这个 JS 文件后面的 JS 文件或者图片等。 在 IE 8, Firefox 3.5, Safari 4, Chrome 2 等高版本浏览器中是允许并行下载 JS 文件的。

  • serenader
    serenader
2 min read
object

在 JavaScript 中创建Object

JavaScript 是一门强类型的面向对象语言,实质是 Prototype-based Language ,语言本身没有 类 的概念。在 JavaScript 一切都是以对象的形式存在,包括 Function , Array , Object , String 等。接下来谈谈如何创建 Object 。 创建对象 1. 工厂模式 工厂模式是以一个函数封装一系列属性和方法的形式创建对象。下面是例子: function createPerson(name,age,job){ var o = new Object(

  • serenader
    serenader
14 min read

Subscribe to Serenader