`
suifongqi
  • 浏览: 55871 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

读李战《悟透JAVASCRIPT》笔记一

阅读更多
最近工作较为轻闲,买了一阵的javascript终于有时间看看了,以下是该书第一部分的笔记。
简单数据五种:
undefined null boolean number string
复杂数据一种:
object
JavaScript中的代码形式体现为:function
typeof 123
typeof(123)类型是“number”
typeof typeof(123) 类型是“string
typeof(null)类型是object,但null并非是object类型

undefined ,null,"",0逻辑值都为false
undefined==null
"123"==123为true
"0123"==0123为false
"123"===123为false
简单类型不具备对象化能力

javascript没有类

<script type="text/javascript">
var life={};
for(life.age=1;life.age<=3;life.age++)
{
	switch(life.age)
	{
		case 1:
		life.body="我出生了";
		life.say = function(){alert(this.body)};
		break;
		case 2:
		life.body="我长大了";
		life.brother="小弟弟变大了";
		life.say = function(){alert(this.body+"-"+this.brother)};
		break;
		case 3:
		life.body="我老了";
		life.brother="儿子出来了";
		life.say = function(){alert(this.body+"-"+this.brother)};
		break;
		
	}
	life.say();
}
</script>
如上对象不断进化。
<script type="text/javascript">
function my()
{
	alert("神啊");
};
var my2 = function()
{
	alert("神仙");
};
alert(typeof(my2));等到的值是funtion
alert(typeof(my));
my2();函数调用
my();
</script>

javascript缺省作用域就是——window对象
var name = "名字";name代表window作用域下的一个变量
name="名字";name代表window对象中的一个属性
var只在本作用域有效
函数的caller属性,返回调用函数的父函数,若值为null,代表:无调用或为全局代码调用,caller属性Opera浏览器不支持
arguments对象,可以以数组的形式访问函数参数
eval()函数不创建新的作用域,以为着访问当前作用域


对象化能力
javascript中只有object与function具备此能力
<script type="text/javascript">
var myObject = {};
myObject.aProperty="属性";
myObject.aMethod = function(){
	alert("方法");
}
alert(myObject["aProperty"]);
myObject["aMethod"]();//以数组的方式调用函数

for(var s in myObject)
{
	alert("s is a "+typeof(myObject[s]));//遍历对象中的属性与方法
}
</script>
函数也能如上使用

javascript中的this不等价与其它编程语言中的this,self,me之类
<script type="text/javascript">
var aMethod = function(){
	alert(this.name+" 方法");
}
aMethod.call({name:"nobody"});//此时this.name为nobody
</script>

javascript对象的创建
称之为:JSON,javascript对象表示法,每项用“,” 分割
空对象
var a = {};
带属性和方法
var b = {name:"jun",eat:function(){alert("吃饭求")}};

构造对象--函数当构造函数用
<script type="text/javascript">
function Person(name)
{
  this.name = name;
  this.sayHello = function(){
   alert("hello,I'm "+this.name);
  }
}

function Employee(name,salary)
{
	Person.call(this,name);
	this.salary = salary;
	this.showMeTheMoney = function()
	{
		alert(this.name + "$"+this.salary);
	}
}

var bill = new Person("bill");
var json = new Employee("json",134);
bill.sayHello();
json.sayHello();
json.showMeTheMoney();

alert(bill.constructor==Person);//true
alert(json.constructor==Employee);
alert(bill.sayHello == json.sayHello);//false
</script>


prototype原型:提供了一群同类对象共享属性和方法的机制

<script type="text/javascript">

function Person(name)
{
  this.name = name;//各对象一份name
  Person.prototype.sayHello = function(){//共享sayHello方法
   alert("hello,I'm "+this.name);
  }
}



var bill = new Person("bill");
var json = new Person("json");
bill.sayHello();
json.sayHello();
alert(bill.sayHello == json.sayHello);

</script>
原型链,到头是object原型所指定的对象
原型可以在本对象中本重写覆盖,但同类对象并不受影响
分享到:
评论
7 楼 suifongqi 2009-07-28  
其实我学js主要是想看看,JAVA在使用SCRIPT API后用JAVASCRIPT会不会很爽。。。groovy是不错,但总觉得有些别扭
6 楼 containsoft 2009-07-26  
以前只是用js做点表单验证、提交之类的简单应用。后来认真去学了下js,才知道js原来很强大。
5 楼 spyker 2009-07-23  
还有多多debug
4 楼 spyker 2009-07-23  
虽然js很神奇
多写写就ok
3 楼 leeldy 2009-07-23  
JavaScript真是一门神奇的语言
强类型语言学多了,遇到弱类型语言真的不知道怎么办
2 楼 yesir 2009-07-23  
是本好书,就是太薄太贵啦~
现在放在枕边,像本小人书。

最后一章的跨域SSO很实用。
1 楼 02221021 2009-07-22  
是本好书,虽然去年就看过了好几次电子版的.最近还是买了一本来收藏 .

相关推荐

    [悟透JavaScript].李战.文字版

    [悟透JavaScript].李战.文字版

    悟透JavaScript(js)

    《悟透JavaScript》这本书由李战(leadzen)撰写,旨在深入浅出地讲解JavaScript的核心概念和技术要点。本书通过生动有趣的比喻,将抽象的编程概念具象化,帮助读者更好地理解和掌握JavaScript的基础和高级特性。 #...

    悟透javascript(精简版)

    在《悟透JavaScript(精简版)》这本书中,作者李战(leadzen)以独特的视角探讨了编程世界的本质——数据与代码之间的关系。他通过生动的比喻,将数据与代码的关系比作物质与能量的关系,形象地描述了两者之间既...

    悟透javascript

    在《悟透JavaScript》一书中,作者李战(leadzen)引领读者深入理解JavaScript的核心概念,强调了编程世界中数据与代码的基本关系及其在JavaScript中的独特体现。本书不仅因其文笔优美、代码示例丰富而备受推崇,更...

    悟透JavaScript-pdf版

    《悟透JavaScript》是李战撰写的一本JavaScript教程,它以其独特的讲解方式和生动的语言吸引了众多读者。这本书旨在帮助读者深入理解JavaScript这门强大的编程语言,不仅覆盖了基础概念,还涉及了高级特性,使读者...

    悟透 javascript

    原著:李战(leadzen) 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。

    一本悟透JavaScript的好书

    《一本悟透JavaScript》是李战先生所著的一本深入浅出的JavaScript编程书籍,它以其独特的视角和简洁明了的讲解方式,深受广大编程爱好者喜爱。这本书虽然篇幅不长,但内容丰富,旨在帮助读者快速理解并掌握...

    悟透JavaScript

    悟透JavaScript 李战,漫画形式说明javascript禅道

    Javascript围棋(含行棋路线)

    在《悟透JavaScript》一书中,作者李战通过"禅棋传说"这一章节,深入浅出地介绍了如何用JavaScript编程实现围棋游戏。这个压缩包文件"weiqi"很可能包含了实现这个游戏的源代码。 1. **JavaScript基础知识**:...

    浅谈javascript的数据类型检测

    悟透JavaScript&gt;&gt;写得太传神,印象太深刻了】 二、javascript的数据类型检测 1、万能的typeof 我们先测试一下通过typeof来获取简单数据类型。什么也别说了,上代码是王道: 代码如下: // 获取变量obj的数据类型 ...

    javascript真经

    在《JavaScript真经》这部作品中,作者李战(笔名leadzen)深入浅出地讲解了JavaScript的核心概念及其背后的哲学思考。本书不仅仅是一本技术手册,更是引导读者深入理解编程本质的一部佳作。 #### 数据与代码的哲学...

    验证javascript中Object和Function的关系的三段简单代码

    话说在楼猪理解和实践能力尚欠火候的时候,在这篇里曾经照搬了李战老师不少东西写在自己的博客里作为“知识储备”。这一次还是不能免俗。在翻到第5章的时候,被开篇第二段话深深吸引和折服:“函数具有对象的全部...

    胡壮麟我读系统功能语言学研究现状和发展趋势PPT课件.pptx

    系统功能语言学是一种以语言的功能性使用为中心的理论框架,由英国语言学家M.A.K. 韩礼德(M.A.K. Halliday)发展起来。该理论关注语言如何在社会交际中发挥作用,强调语言的三大宏观功能:概念功能、人际功能和语篇...

Global site tag (gtag.js) - Google Analytics