Aula 228 - Funções autoexecutáveis e propriedade arguments

/*****************************************/ /* Função autoexecutavel (autoinvocável) */ /*****************************************/ // (function(){ // var isValid = false; // })(); // console.log(isValid); /******************************/ /* Utilização do 'use strict' */ /******************************/ (function () { "use strict"; var isValid = false; console.log(isValid); })(); (function () { "use strict"; var isValid = false; console.log(isValid); function somar(n1, n2) { /*var n1 = 10; var n2 = 20;*/ console.log(n1 + n2); } somar(20, 20); })(); (function () { "use strict"; var isValid = false; console.log(isValid); function somar(arr) { /*var n1 = 10; var n2 = 20;*/ console.log(arr[0] + arr[1] + arr[2]); } somar([20, 20, 10, 30]); })(); (function () { "use strict"; var isValid = false; console.log(isValid); function somar(arr) { console.log(arguments); var result = 0; var x = 0; while (arguments[x]) { result += arguments[x]; x++; } console.log("result: ", result); } somar(20, 20, 10, 30); })(); // var x = 0; // function mostraX() { // var x = 10; // console.log( // 'mostra x atribuindo uma nova variável dentro do escopo da função (var x = 10): ', // x // ); // } // mostraX(); // console.log('mostra x fora do escopo da função: ', x); // console.log('---------------------------'); // var x1 = 0; // function mostraX1() { // x1 = 10; // console.log('mostra x sem chamar uma nova variável (x = 10): ', x1); // } // mostraX1(); // console.log('mostra x fora do escopo da função: ', x1); // console.log('---------------------------'); // var x2 = 0; // function mostraX2() { // var x2 = 10; // y = 20; // console.log('mostra x dentro da função: ', x2); // } // mostraX2(); // console.log('mostra x fora do escopo da função: ', x2); // console.log( // 'mostra y fora do escopo da função (sem declarar a var local): ', // y // ); // console.log('---------------------------'); // var x3 = 0; // var y1; // function mostraX3() { // var x3 = 10; // var y1 = 20; // console.log('mostra x dentro da função: ', x3); // console.log('mostra y dentro da função: ', y1); // } // mostraX3(); // console.log('mostra x fora do escopo da função: ', x3); // console.log('mostra y fora do escopo da função: ', y1);