javascript !== java - fit.faccat.brfpereira/pagina/autoria/javascript.pdf · função é um...

30

Upload: docong

Post on 08-Nov-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

JavaScript !== JavaJava != JavaScript

“JavaScript não é Java

Java é uma linguagem server-side (servidor), como PHP, Ruby, Python, C e etc.

Sabendo disso, quero que saiba que JavaScript é uma linguagem de programação client-side (browser). Ela é utilizada para controlar o HTML e o CSS para manipular comportamentos na página.”

https://goo.gl/6RkGn9

“JavaScript (JS) é uma linguagem leve, interpretada e baseada em objetos, mais conhecida como a linguagem de script para páginas Web, mas usada também em vários outros ambientes sem browser como node.js, Apache CouchDB e Adobe Acrobat. É uma linguagem de script multi-paradigma, baseada em protótipo que é dinâmica, e suporta estilos de programação orientado a objetos, imperativo e funcional.”

https://goo.gl/H7L98y

Escopo

https://goo.gl/dcpC5m

“É o contexto atual de execução, em que valores e expressões são "visíveis" ou podem ser referenciadas. Se uma variável ou outra expressão não estiver "no escopo atual", então não está disponível para uso. Os escopos também podem ser em camadas em uma hierarquia, de modo que os escopos filhos tenham acesso aos escopos pais, mas não vice-versa.”

Variáveis

https://goo.gl/bfJSeu

var •escopo de função

let •escopo de chaves

const •escopo de chaves • imutável para novos valores

var

let

const

https://goo.gl/ive8sY

Funções

https://goo.gl/smhoZk

“Funções são blocos de construção fundamentais em JavaScript. Uma função é um procedimento de JavaScript - um conjunto de instruções que executa uma tarefa. Para usar uma função, você deve defini-la em algum lugar no escopo do qual você quiser chamá-la.”

https://goo.gl/poHvcp

DOM Document Object Model

https://goo.gl/6VLfUe

Eventos

https://goo.gl/XR1PkF

Links Úteis :)

Um guia para iniciantes na área de web https://goo.gl/WzEubj

Mozilla Developer Network (SUPER referência)

https://goo.gl/IzSGT7

Boas práticas

‘use strict’

Seja compreensível

Padrão de variáveis

Use comentários

Minimize acesso ao DOM

MinificaçãoJavaScript Compressor javascriptcompressor.com

Yui Compressor yui.github.io/yuicompressor

Only YUI Compressor refresh-sf.com/yui

Gulp UglifyJS npmjs.com/package/gulp-uglify

jquery-2.1.4.js => 248 KB jquery-2.1.4.min.js => 84 KB

ConcatenaçãoGulp Concat npmjs.com/package/gulp-concat

Dicas de Performance guarde o tamanho do array

Dicas de Performance evite manipulações desnecessárias

Seletoresdocument.getElementById(id)

document.getElementsByName(name) Chrome 1 -- Firefox 1 -- Safari 1 -- Opera 7 -- Internet Explorer 5.5

document.getElementsByClassName(names) Chrome 1 -- Firefox 3 -- Safari 3.2 -- Opera 10 -- Internet Explorer 9

document.querySelector(element) document.querySelectorAll(element)

Chrome 1 -- Firefox 3.5 -- Safari 3.2 -- Opera 10 -- Internet Explorer 8

Igualdade

value1 == value2

value1 === value3

Object.is(value1, value2) Chrome (30.0.1599.114) -- Firefox (22.0)

Dicas Finais #1Mozilla Developer Network

European Computer Manufacturer's Association

JavaScript Design Patterns - Addy Osmani

JSLinst - Douglas Crockford

JSHint - Anton Kovalyov

Dicas Finais #2

Melhorem seus códigosMinifique seus JS

Concatenem seus JS (avaliar)

NÃO usem jQuery...a não ser que seja REALMENTE necessário