标签: JavaScript

  • JavaScript 大杂烩

    避免污染全局变量

    var foo = 12;
    console.log(foo);
    

    上面的代码等同于

    window.foo = 12;
    

    如下代码会覆盖系统默认print函数,会让网页无法打印:

    function print () {
       // do something
    }
    print();
    

    我们只需要简单的做一下变更,就能避免污染全局变量:

    (function () {
       var foo = 12;
       console.log(window.foo);
       // → undefined
       console.log(foo);
       // → 12
    })();
    

    如果更进一步,可以将window等全局变量当作参数传到function:

    (function (global, doc) {
      global.setTimeout(function () {
         doc.body.innerHTML = "Hello!";
      }, 1000);
    })(window, document);
    

    值类型转换

    // 任何值转为Number
    var foo = "12";
    var myNumber = +foo;
    // → 12
    var negativeFoo = -foo;
    // → -12
    // 对象转为数组
    var args = { 0: "foo", 1: "bar", length: 2 };
    Array.prototype.slice.call(args)
    // → [ 'foo', 'bar' ]
    // 转为布尔值
    /// 正正得正
    var t = 1;
    var f = 0;
    !!t
    // → true
    !!f
    // → false
    /// 正负得负
    !t
    // → false
    !f
    // → true
    // 转为字符串
    var foo = 12;
    "" + foo
    // → "12"
    foo = { hello: "world" };
    JSON.stringify(foo);
    // → '{ "hello":"world" }'
    JSON.stringify(foo, null, 4); // 格式化
    // →
    // '{
    //    "hello": "world"
    // }'
    
  • [转载]写给想成为前端工程师的同学们

    前端工程师是做什么的?

    前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。从狭义上讲,前端工程师使用 HTML、CSS、JavaScript 等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。
    (更多…)