JavaScript权威指南,JavaScript权威指南第八版豆瓣

http://www.itjxue.com  2023-01-23 00:14  来源:未知  点击次数: 

如果我要学习JavaScript,需要先学习什么?

这个问题对于不同人的答案是不一样的。对于编程老手来说,学习JavaScript可能只需要看看reference、看看一些脚本库的源码,有疑难再上上stackoverflow或知乎之类的地方就可以了。

学习Javascript,首先它和Java的关系不大,所以不需要Java基础也可以,但至少要有html基础,否则即使学习了,也不知道怎么使用更好,更有效。学习html比较容易,如果要求不太高,之后可以适当看一下css和div。

需要恒心。

JS不是那么好学的,本身语言设计的时候就有很多不可思议的地方,像self,像C,像Java,要理解它的编程思想并不容易,闭包,原型神马的不容易。

而且不同浏览器引擎的实现不一,会导致很多语言外要注意的问题,特别是IE。用的时候会有很多雷,时不时中个雷是很正常的。所以,学习需要恒心去克服。当然你如果没有编程基础,那些雷对你来说可能不是雷。

需要看好书。 ?

《JavaScript权威指南》,书如其名,的确是权威。当然,这书很厚,而且也不是所有地方都讲得好的(对象类型那块我就被坑了,直到看了愚公的博文才醒悟过来)。

但是这书起码让你对JS的方方面面有个完整的了解。《Pro JavaScript》也是一本好书。《the good parts of JavaScript》是一本很重要的书。一本坏书会教你很多不好的编程习惯,包括不写分号,乱搞全局变量等等傻逼行为。

《JavaScript开发框架权威指南》pdf下载在线阅读全文,求百度网盘云资源

《JavaScript开发框架权威指南》百度网盘pdf最新全集下载:

链接:

?pwd=gbvq 提取码: gbvq

简介:JavaScript开发框架quanwei指南涵盖了在开发过程中常用的各种JavaScript工具,以帮助读者在大量流行的JavaScript工具中做选择。全书分为16章,从开发工具、模块加载器、客户端框架、服务端框架数据库交互、通信、管理控制流和其他有用框架等几个方面,涵盖了Bower、Grunt、Yeoman、PM2、RequireJS、Browserify、Knockout、AngularJS、Kraken、Mach、Mongoose、Knex、Bookshelf、Faye、Q、Async.js、Underscore和 Lodash等框架和库。全书涵盖了客户端和服务器端的开发,通过细致的讲解、详细的代码示例,阐明了这些工具的用法。 ?

javascript权威指南 学习笔记之变量作用域分享

不知道,大家对语言中变量的“声明”与“定义”是怎么理解的,

我的理解如下:

“声明”变量,只是仅仅声明,而“定义”变量,指声明了,并且赋值了。

例如:

复制代码

代码如下:

var

name;//只是声明

var

num

=

11;//声明,并且赋值,即定义了

var

password

=

"yangjiang";//声明,并且赋值,即定义了

下面是几点总结:

变量的作用域:全局的和局部的。(注意:如果尝试读取一个未声明的变量的值,javascript会生成一个错误)

第一点:在都使用var关键字修饰变量的情况下,如果给一个局部变量或函数的参数声明的名字与某个全局变量的名字相同,

那么就有效地隐藏了这个全局变量。

例如:

复制代码

代码如下:

var

scope1

=

"global";//var修饰

function

checksScope(){

var

scope1

=

"local";//var修饰

document.write(scope1);

}checksScope();//local

第二点:如果尝试给一个未用

var

关键字声明的变量,那么,隐式声明的变量总是被创建为全局变量,即使

该变量只在一个函数体内使用(只有该函数运行了,才会发生作用),注意不支持函数嵌套的情形。

例如:

复制代码

代码如下:

scope2

=

"globalAAAAA";//没有使用var修饰(js会默认将其声明为全局变量)

function

checkScopeA(){

scope2

=

"localAAAAA";//没有使用var修饰(js会默认将其声明为全局变量)

document.write("br/"+scope2);

myscope

=

"myLocalAAAAA";//没有使用var修饰(js会默认将其声明为全局变量)

document.write(","+myscope);

}

checkScopeA();//localAAAAA,myLocalAAAAA

*A

document.write("br/"+scope2);//localAAAAA

*B

document.write("br/"+myscope);//myLocalAAAAA

*C

如果将上面的例子中的

*A处的代码注释掉,

例如:

复制代码

代码如下:

scope2

=

"globalAAAAA";//没有使用var修饰(js会默认将其声明为全局变量)

function

checkScopeA(){

scope2

=

"localAAAAA";//没有使用var修饰(js会默认将其声明为全局变量)

document.write("br/"+scope2);

myscope

=

"myLocalAAAAA";//没有使用var修饰(js会默认将其声明为全局变量)

document.write(","+myscope);

}

//checkScopeA();

*A

document.write("br/"+scope2);//globalAAAAA

*B

document.write("br/"+myscope);//发生错误

*C

因为函数checkScopeA没有执行,所以

*B处输出为globalAAAAA;

因为函数checkScopeA没有执行,所以变量myscope没有声明,如果尝试读取一个未声明的变量,会发生错误。

第三点:

在javascript中,函数的定义是可以嵌套的。由于

每个函数都有它自己的局部作用域,所以有可能出现几个局部作用域的嵌套层。

例如:

复制代码

代码如下:

var

scope3

=

"global

scope";

//定义了一个全局变量

function

checkScopeB(){

var

scope3

=

"local

scope";

//定义了一个局部变量,覆盖了全局变量scope3

function

nested(){

var

scope3

=

"nested

scope";

//在函数的函数的内部,定义了一个局部变量

document.write("br/"+scope3);

//nested

scope

}

nested();

}

checkScopeB();//nested

scope

第四点:

在javascript中,没有块级作用域,函数中声明的所有变量,无论是在哪里声明的,在整个函数中它们都是有声明的。

在javascript中,没有块级作用域,函数中定义的所有变量,无论是在哪里定义的,在整个函数中它们都是有定义的。

例如:

复制代码

代码如下:

function

test(o){//根据以上的说明:此函数中的i,j,k三个变量的作用域是相同的。

var

i

=

0;

//变量

i

在整个函数中都有定义

if(typeof

o

==

"object"){

var

j

=

;

//变量

j

在整个函数中都有定义,而不仅仅是在

if

语句块

for(var

k=0;k10;k++){//变量

k

在整个函数中都有定义,而不仅仅是在

if

语句块

document.write("br/k的值为:"+k);

}

document.write("br/for循环外k的值:"+k);//此时的

k

仍然被定义了,k=10

}

document.write("br/j的值:"+j);

//变量

j

被声明了,但可能没有被初始化

因为可能往函数中

传入的参数

不是对象

,if语句块不会执行

}

下面通过两种方式调用此函数:

方式一:传入对象

test({});//输出结果:上例中的注释

方式二:什么都不传

test();//输出结果:j的值:undefined

想不明白的是,在第二种方式中的输出结果,为什么会是

undefined。我当时猜的是:j的值:0

后来,这本书上面说:

由于局部变量在整个函数体内都是有声明(或定义)的,这就意味着在整个函数体中都隐藏了同名的全局

变量。虽然

局部变量在整个函数体内中都是有声明(或定义)的,但是在执行var语句之前,它是不会被初始化的。

这样的话,上面的方式二调用的输出结果,就比较好解释了,由于变量j在整个函数中都有定义,而又由于传入函数的参数为空,所以函数体中的if语句不会执行,从而使得j的值为undefined.(这是我参照上面书上说的那句话的理解)

下面的例子,更好的说明:

复制代码

代码如下:

var

sssss

=

"全局变量";

function

f(){

document.write("br/"+sssss);//输出:undefined

而不是输出"全局变量"

var

sssss

=

"局部变量";

document.write("br/"+sssss);//输出:局部变量

}

《Java Script权威指南第6版》txt下载在线阅读全文,求百度网盘云资源

《JavaScript权威指南 第6版(上、下册)》([美] David Flanagan)电子书网盘下载免费在线阅读

链接:

提取码: 37ur

书名:JavaScript权威指南 第6版(上、下册)

作者:[美] David Flanagan

豆瓣评分:8.9

出版社:东南大学出版社

出版年份:2011-1

页数:1078

内容简介:

《JavaScript权威指南(影印版)(第6版)(套装共2册)》是一本针对JavaScript语言的核心内容以及由浏览器定义的客户端JavaScript应用程序编程接口的程序员指南和综合参考书。第6版涵盖了HTML5和ECMAScript5。为了介绍当今Web开发的最佳实践,很多章节被完全重写过。这一版新添加的章节详细讲解了jQuery和服务器端JavaScript编程。《JavaScript权威指南(影印版)(第6版)(套装共2册)》推荐给那些想学习Web编程技巧的有经验的程序员,以及那些想要精通这门语言的JavaScript程序员。

《JavaScript权威指南第六版》pdf下载在线阅读全文,求百度网盘云资源

《JavaScript权威指南第六版》百度网盘pdf最新全集下载:

链接:

?pwd=5z0p 提取码:5z0p

简介:JavaScript权威指南主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,新增的章节包括jQuery、服务器端JavaScript、图形编程以及 JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的 JavaScript 开发者随手翻阅。 ?

(责任编辑:IT教学网)

更多