JavaScritpt学习笔记(一)
1、掌握标准的书写规范
2、掌握基本的编码原则
3、区分javascript函数声明与表达式区别
javascript中有2种主要方式来定义一个函数,即:通过声明和通过表达式。在很多应用中,他们略有不同。
函数声明:
var sys = require('sys'); function helloWorld() { sys.puts('Hello World!'); } helloWorld()
函数表达式:
1 var sys = require('sys'); 2 3 var helloWorld = function() { 4 5 sys.puts('Hello World!'); 6 7 } 8 9 helloWorld();
上面结果都是hello world, 区别在什么地方呢?
1.声明总是在作用域结束时候被运算
2,表达式在遇到时候才运算。
也就是说函数声明所有代码被执行之前运行。函数表达式仅当解释器到达代码时候才运行。
Declaration
var sys = require('sys'); helloWorld(); function helloWorld() { sys.puts('Hello World!'); }
Expression
var sys = require('sys'); helloWorld(); var helloWorld = function() { sys.puts('Hello World!'); }
表达式会报错: undefined is not a function.
5、Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。
首先我们来看看Module模式的基本特征:
- 模块化,可重用
- 封装了变量和function,和全局的namaspace不接触,松耦合
- 只暴露可用public的方法,其它私有方法全部隐藏
关于Module模式,最早是由YUI的成员Eric Miraglia在4年前提出了这个概念,我们将从一个简单的例子来解释一下基本的用法。
基本语法
var Calculator = function (eq) { //这里可以声明私有成员 var eqCtl = document.getElementById(eq); return { // 暴露公开的成员 add: function (x, y) { var val = x + y; eqCtl.innerHTML = val; } };};
我们可以通过如下的方式来调用:
var calculator = new Calculator('eq'); calculator.add(2, 2);
汤姆大叔的博文:全面解析javascript Model模式