xml地图|网站地图|网站标签 [设为首页] [加入收藏]

美高梅游戏网站

当前位置:美高梅游戏网站 > 美高梅游戏网站 > 必看的 JavaScript 视频

必看的 JavaScript 视频

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-11 04:52

必看的 JavaScript 视频

2015/10/30 · 基础技术 · 视频

去年 Sergey Bolshchikov 发起了一个倡议,视频列表已挺丰富了。

小提示:

  • 视频均在 Youtube。如有搬运到国内的热心童鞋,请在评论中留言;
  • Clip Converter:Youtube 视频下载工具

在这篇文章中将给大家分享有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。

2015

  1. Dr. Axel Rauschmayer: Using ECMAScript 6 today
    • Part 1 [40:44]
    • Part 2 [53:04]
  2. Brendan Eich: ECMAScript Harmony: Rise of the Compilers [19:17]
  3. Andreas Gal: Dirty Performance Secrets of HTML5 | HTML5 性能秘籍 [14:15]
  4. Andre Staltz: What if the user was a function | 假如用户是一个函数? [32:19] ♨

使用!!操作符转换布尔值

2014

  1. Ilya Grigorik: Website Performance Optimization | 网站性能优化 (Udacity 课程) [1:13:57]
  2. Mark DiMarco: User Interface Algorithms | 用户接口算法 [27:41]
  3. Neil Green: Writing Custom DSLs [29:07]
  4. Philip Roberts: Help, I’m stuck in an event-loop [20:13]
  5. Eric Bidelman: Polymer and Web Components change everything you know about Web development [36:12]
  6. Alex Russell, Jake Archibald: Bridging the gap between the web and apps [48:40]
  7. Scott Hanselman: Virtual Machines, JavaScript and Assembler [25:56]
  8. Jafar Husain: Async JavaScript with Reactive Extensions [26:38]
  9. John-David Dalton: Unorthodox Performance [43:39]
  10. Gary Bernhardt: The Birth & Death of Javascript [29:22]
  11. Addy Osmani: Memory Management Masterclass [55:06]
  12. Reginald Braithwaite: Invent the future, don’t recreate the past [39:16]
  13. Kyle Simpson: Syncing Async [42:25]
  14. Ariya Hidayat: JavaScript and the Browser: Under the Hood [29:13]
  15. Jafar Husain: Version 7: The Evolution of JavaScript [1:11:53]
  16. David Nolen: Immutability: Putting The Dream Machine To Work [22:05]

有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、" "、undefined或者NaN都将返回的是false,反之返回的是true。比如下面的示例:

2013

  1. Nat Duca, Tom Wiltzius: Jank Free: Chrome Rendering Performance [40:53]
  2. Ilya Grigorik: Automating Performance Best Practices with PageSpeed [46:58]
  3. Eric Bidelman: Web Components [32:39]
  4. Alex Komoroske, Matthew McNulty: Web Components in Action [41:28]
  5. Paul Lewis, Peter Beverloo: Device Agnostic Development [40:44]
  6. John McCutchan, Loreena Lee: A Trip Down Memory Lane with Gmail and DevTools [42:09]
  7. Joe Marini: Upgrading to a Chrome Packaged App [43:49]
  8. Pete Hunt: React: Rethinking best practices [29:31]
  9. Martin Kleppe: 1024+ Seconds of JS Wizardry [31:01]
  10. Yehuda Katz: A tale of two MVC’s [31:06]
  11. Vyacheslav Egorov: Performance and Benchmarking [25:41]
  12. Brendan Eich: JavaScript at 18: Legal to Gamble [25:44]
  13. Mathias Bynens: JavaScript ♥ Unicode [26:12]
  14. Mark Trostler: Testable JavaScript – Architecting Your Application for Testability [45:35]
function Account(cash) {
  this.cash = cash;
  this.hasMoney = !!cash;
}
var account = new Account(100.50);
console.log(account.cash); // 100.50
console.log(account.hasMoney); // true

var emptyAccount = new Account(0);
console.log(emptyAccount.cash); // 0
console.log(emptyAccount.hasMoney); // false

2012

  1. Ryan Sandor Richards: Garbage Collection & Heap Management [32:57]
  2. Addy Osmani: Scaling Your JavaScript Applications
    • Part 1 [22:38]
    • Part 2 [15:41]
    • Part 3 [33:32]
  3. John-David Dalton: Lo-Dash [25:08]
  4. Gary Bernhardt: WAT [4:17]
  5. Angus Croll: Break all the rules [31:29]
  6. Nicholas Zakas: Maintainable JavaScript [47:04]
  7. Douglas Crockford: Principles of Security [59:52]

在这个示例中,只要account.cash的值大于0,那么account.hasMoney返回的值就是true。

2011

  1. Douglas Crockford: Level 7: ECMAScript 5: The New Parts [57:18]
    图片 1
  2. Douglas Crockford: Section 8: Programming Style and Your Brain [1:06:45]
  3. Ryan Dahl: Introduction to Node.js [1:06:33]
  4. Alex Russell: Learning to Love JavaScript [1:03:25]

使用+将字符串转换成数字

2010

  1. Douglas Crockford: Volume One: The Early Years [1:42:08]
  2. Douglas Crockford: Chapter 2: And Then There Was JavaScript [1:30:22]
  3. Douglas Crockford: Act III: Function the Ultimate [1:13:28]
  4. Douglas Crockford: Episode IV: The Metamorphosis of Ajax [1:33:54]
  5. Douglas Crockford: Part 5: The End of All Things [1:24:42]
  6. Douglas Crockford: Scene 6: Loopage [51:52]

这个技巧非常有用,其非常简单,可以交字符串数据转换成数字,不过其只适合用于字符串数据,否则将返回NaN,比如下面的示例:

2009

  1. Nicholas Zakas: Scalable JavaScript Application Architecture [52:22]
  2. Douglas Crockford: JavaScript: The Good Parts [1:03:47]

    1 赞 4 收藏 评论

图片 2

function toNumber(strNumber) {
  return +strNumber;
}
console.log(toNumber("1234")); // 1234
console.log(toNumber("ACB")); // NaN

这个也适用于Date,在本例中,它将返回的是时间戳数字:

console.log(+new Date()) // 1461288164385

并条件符

如果你有一段这样的代码:

if (conected) {
  login();
}

你也可以将变量简写,并且使用&&和函数连接在一起,比如上面的示例,可以简写成这样:

conected && login();

如果一些属性或函数存在于一个对象中,你也可以这样做检测,如下面的代码所示:

user && user.login();

使用||运算符

在ES6中有默认参数这一特性。为了在老版本的浏览器中模拟这一特性,可以使用||操作符,并且将将默认值当做第二个参数传入。如果第一个参数返回的值为false,那么第二个值将会认为是一个默认值。如下面这个示例:

function User(name, age) {
  this.name = name || "Oliver Queen";
  this.age = age || 27;
}
var user1 = new User();
console.log(user1.name); // Oliver Queen
console.log(user1.age); // 27

var user2 = new User("Barry Allen", 25);
console.log(user2.name); // Barry Allen
console.log(user2.age); // 25

在循环中缓存array.length

这个技巧很简单,这个在处理一个很大的数组循环时,对性能影响将是非常大的。基本上,大家都会写一个这样的同步迭代的数组:

for(var i = 0; i < array.length; i++) {
  console.log(array[i]);
}

如果是一个小型数组,这样做很好,如果你要处理的是一个大的数组,这段代码在每次迭代都将会重新计算数组的大小,这将会导致一些延误。为了避免这种现象出现,可以将array.length做一个缓存:

var length = array.length;
for(var i = 0; i < length; i++) {
  console.log(array[i]);
}

你也可以写在这样:

for(var i = 0, length = array.length; i < length; i++) {
  console.log(array[i]);
}

检测对象中属性

本文由美高梅游戏网站发布于美高梅游戏网站,转载请注明出处:必看的 JavaScript 视频

关键词:

上一篇:谈谈前后端的分工协作

下一篇:没有了