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模式的基本特征:

  1. 模块化,可重用
  2. 封装了变量和function,和全局的namaspace不接触,松耦合
  3. 只暴露可用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模式

posted @ 2012-07-11 10:31  bobozhang  阅读(434)  评论(0编辑  收藏  举报