O documento discute vários tópicos sobre Javascript, incluindo padrões, anti-padrões, loops, escopo, tipos de dados e convenções de código. Ele fornece dicas sobre como melhorar as habilidades com a linguagem, como usar ferramentas de depuração e compartilhar código.
17. var nome = [ “Leo”, “Balter” ];
for (i in nome) {
console.log(nome[i]);
}
18. var nome = [ “Leo”, “Balter” ];
for (i in nome) {
console.log(nome[i]);
}
19. var nome = [ “Leo”, “Balter” ];
for (i in nome) {
console.log(nome[i]);
}
20. var pessoa = function (a, b) {
this.nome = a,
this.sobrenome = b
};
pessoa.prototype.falar = function () {
console.log("olá");
};
var mim = new pessoa("Leo", "Balter");
for (i in mim) {
console.log(mim[i]); // wtf
}
21. var pessoa = function (a, b) {
this.nome = a,
this.sobrenome = b
};
pessoa.prototype.falar = function () {
console.log("olá");
};
var mim = new pessoa("Leo", "Balter");
for (i in mim) {
console.log(mim[i]); // wtf
}
22.
23. var nome = [ “Leo”, “Balter” ];
for (i in nome) {
if (nome.hasOwnProperty(i)) {
console.log(nome[i]); // wtf
}
}
47. Convenções de código
• JSLint se você for o Douglas Crockford
• JSHint se você não for o Douglas Crockford
• e agora também o CSSLint!
48. JSLint
• Douglas Crockford
• “JSLint will hurt your feelings”
• Escreva JS como ele escreve ou não use a ferramenta
• for (var x in y) ...
• http://www.jslint.com
49. JSHint
• Comunidade - fork do JSLint iniciado por Anton Kovalyov
• “does not tyrannize your code”
• Estabeleça as suas convenções!
• Douglas Crockford diz que JSHint é para babacas
• http://jshint.com
50. function(foo) {
var i = -1
var str
for (var i = 0; i < 4; i++) {
debugger;
str += i;
}
}()
51. The code check failed.
Errors:
• Line 1 function(foo) {
Missing name in function declaration.
• Line 2 var i = -1
Missing semicolon.
• Line 3 var str
Missing semicolon.
• Line 5 for (var i = 0; i < 4; i++) {
'i' is already defined.
• Line 9 }()
Function declarations are not invocable. Wrap the
whole function invocation in parens.
• Line 9
Stopping, unable to continue. (100% scanned).
56. Use o console!
• Opera Dragonfly
• Chrome Developer Tools
• Firefox’s Firebug (extensão)
• Safari’s Developer Tools
• Internet Explorer Developer Tools
59. Não se preocupe com a tecnologia server-side
• Ruby • C / C++
• Python • Perl
• PHP • Erlang
• .NET • Lisp
• ColdFusion • Cobol
• ASP • Pseudo-código
60. Mas se puder escolher prefira node.js
• Javascript em server side
• é fácil
• é grátis
• é tendência
• se integra facilmente com ferramentas como CSSLint e JSHint
• http://nodejs.org