[size=medium][b]一、Javascript 中的数据类型[/b][/size]
[b]JavaScript 中一共有7种数据类型[/b]
1. 基本数据类型(5种):数字、文本、布尔、null、undefinded
2. 对象数据类型(2种):object, function
-
function 是一个特殊的对象,它内部所包含的代码可以再次被运行。
这里要搞清楚2个概念:变量的定义和变量的值。
变量的值是在变量运行时产生的一个实例。因为 JavaScript 是一边解释一边运行的,无需编译。除了 function 数据类型之外,其它6种在定义时就产生了值。而Function在声明时,不会去运行,只是产生了一个包含一段代码的Function对象。
Function在定义时,在内存中并未生成实例。只有被调用,运行时,才会在内存中产生对象。
如果只是定义,而未运行,被其它地方运行的函数引用时,则会出现undefined 提示。
[b]数据类型的类型字面值:[/b]
[size=medium][b]二、变量的声明[/b][/size]
[b]关于"="操作符:[/b]
[b][color=green]1、声明变量(直接量):[/color] [/b]
作用: 直接量定义会立即执行。
[b][color=green]2、声明函数:[/color][/b]
作用: 只定义,不运行。
解释:fn的值是有的。但fn内部的值没有生成对象。因为函数没运行。
如何运行函数: fn()
此外:
可以定义并立即执行的写法:
1、诸如alert(); 等可立即执行的函数。
2、(function(){})();
[size=medium][b]三、函数的定义与运行机制[/b][/size]
在函数内部定义的变量,运行时,首先会先解析定义的部分,再执行其它部分。
这是javascript的hoisting特性。
—————————————
javascript 函数基础系列文章
[url=http://lixh1986.iteye.com/blog/1955314]1、JavaScript之变量的作用域[/url]
[url=http://lixh1986.iteye.com/blog/2028899]2、javascript之变量类型与变量声明及函数变量的运行机制[/url]
[url=http://lixh1986.iteye.com/blog/2317065l]2.1、javascript 之 undefined [/url]
[url=http://lixh1986.iteye.com/blog/1947017]3、javaScript之function定义[/url]
[url=http://lixh1986.iteye.com/blog/1896682]4、javascript之function的prototype对象[/url]
[url=http://lixh1986.iteye.com/blog/1891833]5、javascript之function的(closure)闭包特性[/url]
[url=http://lixh1986.iteye.com/blog/1960343]6、javascript之function的this[/url]
[url=http://lixh1986.iteye.com/blog/1943409]7、javascript之function的apply(), call()[/url]
___________
javascript 面向对象编程系列文章:
[url=http://lixh1986.iteye.com/blog/1958956]1、javaScript之面向对象编程[/url]
[url=http://lixh1986.iteye.com/blog/2332467]2、javascript之面向对象编程之属性继承[/url]
[url=http://lixh1986.iteye.com/blog/2348442]3、javascript之面向对象编程之原型继承[/url]
-
-
转载请注明,
原文出处:http://lixh1986.iteye.com/blog/2028899
[b]JavaScript 中一共有7种数据类型[/b]
1. 基本数据类型(5种):数字、文本、布尔、null、undefinded
2. 对象数据类型(2种):object, function
-
function 是一个特殊的对象,它内部所包含的代码可以再次被运行。
这里要搞清楚2个概念:变量的定义和变量的值。
变量的值是在变量运行时产生的一个实例。因为 JavaScript 是一边解释一边运行的,无需编译。除了 function 数据类型之外,其它6种在定义时就产生了值。而Function在声明时,不会去运行,只是产生了一个包含一段代码的Function对象。
Function在定义时,在内存中并未生成实例。只有被调用,运行时,才会在内存中产生对象。
如果只是定义,而未运行,被其它地方运行的函数引用时,则会出现undefined 提示。
[b]数据类型的类型字面值:[/b]
typeof (1) === "number" // true
typeof ("1") === "string" // true
typeof (null) === "object" // true
typeof (true) === "boolean" // true
typeof (undefined) === "undefined" // true
typeof ({}) === "object" // true
typeof (function(){}) === "function" // true
[size=medium][b]二、变量的声明[/b][/size]
[b]关于"="操作符:[/b]
[b][color=green]1、声明变量(直接量):[/color] [/b]
var a = 10;
作用: 直接量定义会立即执行。
[b][color=green]2、声明函数:[/color][/b]
var fn = function(){
return new Date().getTime();
}
作用: 只定义,不运行。
解释:fn的值是有的。但fn内部的值没有生成对象。因为函数没运行。
如何运行函数: fn()
此外:
可以定义并立即执行的写法:
1、诸如alert(); 等可立即执行的函数。
2、(function(){})();
[size=medium][b]三、函数的定义与运行机制[/b][/size]
在函数内部定义的变量,运行时,首先会先解析定义的部分,再执行其它部分。
这是javascript的hoisting特性。
a =20;
c = 0;
fnt = function(a,c){
var d = function(){
c = a + b;
return c;
}
var b = 20;
var a = 10;
console.log(d()); // 30
}
fnt(a,c);
//d为函数,虽定义但未运行,运行时由于定义了内部变量(覆盖了重名的全局变量),故为30
a =20;
c = 0;
fnt = function(a,c){
var b = 20;
c = a + b;
var a = 10;
console.log(c); // 40
}
fnt(a,c);
//c 为直接量,定义即运行,故c=40;
—————————————
javascript 函数基础系列文章
[url=http://lixh1986.iteye.com/blog/1955314]1、JavaScript之变量的作用域[/url]
[url=http://lixh1986.iteye.com/blog/2028899]2、javascript之变量类型与变量声明及函数变量的运行机制[/url]
[url=http://lixh1986.iteye.com/blog/2317065l]2.1、javascript 之 undefined [/url]
[url=http://lixh1986.iteye.com/blog/1947017]3、javaScript之function定义[/url]
[url=http://lixh1986.iteye.com/blog/1896682]4、javascript之function的prototype对象[/url]
[url=http://lixh1986.iteye.com/blog/1891833]5、javascript之function的(closure)闭包特性[/url]
[url=http://lixh1986.iteye.com/blog/1960343]6、javascript之function的this[/url]
[url=http://lixh1986.iteye.com/blog/1943409]7、javascript之function的apply(), call()[/url]
___________
javascript 面向对象编程系列文章:
[url=http://lixh1986.iteye.com/blog/1958956]1、javaScript之面向对象编程[/url]
[url=http://lixh1986.iteye.com/blog/2332467]2、javascript之面向对象编程之属性继承[/url]
[url=http://lixh1986.iteye.com/blog/2348442]3、javascript之面向对象编程之原型继承[/url]
-
-
转载请注明,
原文出处:http://lixh1986.iteye.com/blog/2028899