JavaScript教程--从入门到精通(2)

JavaScript016

JavaScript教程--从入门到精通(2),第1张

JavaScript基本数据结构

JavaScript提供脚本语言的编程与C++非常相似 它只是去掉了C语言中有关指针等容易产生的错误 并提供了功能强大的类库 对于已经具备C++或C语言的人来说 学习JavaScript脚本语言是一件非常轻松愉快的事

一 JavaScript代码的加入

JavaScript的脚本包括在HTML中 它成为HTML文档的一部分 与HTML标识相结合 构成了一个功能强大的Internet网上编程语言 可以直接将JavaScript脚本加入文档

<Script Language = JavaScript >JavaScript语言代码 JavaScript 语言代码</Script>

说明   通过标识<Script></Script>指明JavaScript脚本源代码将放入其间   通过属性Language = JavaScript 说明标识中是使用的何种语言 这里是JavaScript语言 表示在JavaScript中使用的语言

下面是将JavaScript脚本加入Web文档中的例子:l<HTML><Head><Script Language = JavaScript >document Write( 这是赛迪网互动学校 )document close()</Script></Head></HTML>

在浏览器的窗口中调用l 则显示 这是赛迪网互动学校 字串 见图 所示

图 说明: Document write()是文档对象的输出函数 其功能是将括号中的字符或变量值输出到窗口 document close()是将输出关闭 可将<Script></Script>标识放入head></Head>或<Body></Body>之间 将JavaScript标识放置<Head></Head>在头部之间 使之在主页和其余部分代码之前装载 从而可使代码的功能更强大 可以将JavaScript标识放置在<Body></Body>主体之间以实现某些部分动态地创建文档

二 基本数据类型

JavaScript脚本语言同其它语言一样 有它自身的基本数据类型 表达式和算术运算符以及程序的基本框架结构 JavaScript提供了四种基本的数据类型用来处理数字和文字 而变量提供存放信息的地方 表达式则可以完成较复杂的信息处理

基本数据类型

在JavaScript中四种基本的数据类型 数值(整数和实数) 字符串型(用 号或 括起来的字符或数值) 布尔型(使True或False表示)和空值 在JavaScript的基本类型中的数据可以是常量 也可以变量 由于JavaScript采用弱类型的形式 因而一个数据的变量或常量不必首先作声明 而是在使用或赋值时确定其数据的类型的 当然也可以先声明该数据的类型 它是通过在赋值时自动说明其数据类型的

常量  整型常量JavaScript的常量通常又称字面常量 它是不能改变的数据 其整型常量可以使用十六进制 八进制和十进制表示其值  实型常量实型常量是由整数部分加小数部分表示 如 可以使用科学或标准方法表示 E e 等

布尔值

布尔常量只有两种状态 True或False 它主要用来说明或代表一种状态或标志 以说明操作流程 它与C++是不一样的 C++可以用1或0表示其状态 而JavaScript只能用True或False表示其状态

字符型常量

使用单引号( )或双引号( )括起来的一个或几个字符 如 This is a book of JavaScript ewrt 等  空值JavaScript中有一个空值null 表示什么也没有 如试图引用没有定义的变量 则返回一个Null值  特殊字符同C语言一样 JavaScript中同样以有些以反斜杠(/)开头的不可显示的特殊字符 通常称为控制字符   变量

变量的主要作用是存取数据 提供存放信息的容器 对于变量必须明确变量的命名 变量的类型 变量的声明及其变量的作用域  变量的命名JavaScript中的变量命名同其计算机语言非常相似 这里要注意以下两点 A 必须是一个有效的变量 即变量以字母开头 中间可以出现数字如test text 等 除下划线(-)作为连字符外 变量名称不能有空格 (+) (-) ( )或其它符号 B 不能使用JavaScript中的关键字作为变量 在JavaScript中定义了40多个类键字 这些关键是JavaScript内部使用的 不能作为变量的名称 如Var int double true不能作为变量的名称 在对变量命名时 最好把变量的意义与其代表的意思对应起来 以免出现错误

变量的类型

在JavaScript中 变量可以用命令Var作声明:var mytest该例子定义了一个mytest变量 但没有赋予它的值 Var mytest= This is a book 该例子定义了一个mytest变量 同时赋予了它的值 在JavaScript中 变量以可以不作声明 而在使用时再根据数据的类型来确其变量的类型 如 x= y= xy= True cost= 等 其中x整数 y为字符串 xy为布尔型 cost为实型  变量的声明及其作用域JavaScript变量可以在使用前先作声明 并可赋值 通过使用var关键字对变量作声明 对变量作声明的最大好处就是能及时发现代码中的错误 因为JavaScript是采用动态编译的 而动态编译是不易发现代码中的错误 特别是变量命名的方面 对于变量还有一个重要性──那就是变量的作用域 在JavaScript中同样有全局变量和局部变量 全局变量是定义在所有函数体之外 其作用范围是整个函数 而局部变量是定义在函数体之内 只对其该函数是可见的 而对其它函数则是不可见的 三 表达式和运算符

1 表达式

在定义完变量后 就可以对它们进行赋值 改变 计算等一系列操作 这一过程通常又叫称一个叫表达式来完成 可以说它是变量 常量 布尔及运算符的集合 因此表达式可以分为算术表述式 字串表达式 赋值表达式以及布尔表达式等

2 运算符

运算符完成操作的一系列符号 在JavaScript中有算术运算符 如+ * /等 有比较运算符如!= ==等有逻辑布尔运算符如!(取反) | ||有字串运算如+ +=等 在JavaScript主要有双目运算符和单目运算符 其双目运算符由下列组成 操作数1 运算符 操作数2即由两个操作数和一个运算符组成 如 + This + that 等 单目运算符 只需一个操作数 其运算符可在前或后 (1)算术运算符JavaScript中的算术运算符有单目运算符和双目运算符 双目运算符 +(加) (减) *(乘) /(除) %(取模) |(按位或) &(按位与) <<(左移) >>(右移) >>>(右移 零填充) 单目运算符 (取反) ~(取补) ++(递加 ) (递减 ) (2)比较运算符比较运算符它的基本操作过程是 首先对它的操作数进行比较 尔后再返回一个true或False值 有8个比较运算符:<(小于) >(大于) <=(小于等于) >=(大于等于) ==(等于) !=(不等于) (3)布尔逻辑运算符在JavaScript中增加了几个布尔逻辑运算符: !(取反) &=(与之后赋值) &(逻辑与) |=(或之后赋值) |(逻辑或) ^=(异或之后赋值) ^(逻辑异或) ?:(三目操作符) ||(或) ==(等于) |=(不等于) 其中三目操作符主要格式如下 操作数?结果1 结果2若操作数的结果为真 则表述式的结果为结果1 否则为结果2

四 范例 下面是一个跑马灯效果的JavaScript文档

l<><head><script Language= JavaScript >var msg= 这是一个跑马灯效果的JavaScript文档 var interval = var spacelen = var space = var seq= function Scroll() { len = msg lengthwindow status = msg substring( seq+ )seq++if ( seq >= len ) { seq = spacelenwindow setTimeout( Scroll ()interval )}elsewindow setTimeout( Scroll()interval )} function Scroll () { var out= for (i= i<=spacelen/space lengthi++) out += space out = out + msglen=out lengthwindow status=out substring(seq len)seq++if ( seq >= len ) { seq = }window setTimeout( Scroll ()interval )} Scroll()</script><body></body></>

lishixinzhi/Article/program/Java/JSP/201311/19285

先说说学js的条件

论条件,咱是文科生,大学专业工商管理,和计算机毛关系都没;有人说英语,读了四年大学,很遗憾,咱还四级没混过;就咱这条件都学得乐呵呵的,您还等啥。

当然学习JS也是有门槛的,就是你的html和css至少还比较熟练,您不能连<body>这东东是干啥的都不知道就开始上JS了,学乘除前,学好加减法总是有益无害的。

再说几点忠告

1,不要着急看一些复杂网页效果的代码,这样除了打击你自信心,什么也学不到。没达到一定的武功水平,割了小JJ也学不会葵花宝典的。

2,别急着加技术交流QQ群,加牛人QQ。如果你找张三丰交流武功,你上去第一句问“丰哥,where is 丹田?”,你会被他一掌劈死的。

3,看网上什么多少天精通JS,啥啥啥从入门到精通,这种教程直接跳过吧,太多的事实证明,以一种浮躁的心态去做任何事都会以失败而告终。

4,千万别去弄啥电脑培训,花了钱和时间不说,关键是学不到东西。本来你买两本好书自学3个月能学会的,他们硬是能折腾你两年。

推荐几本好书

“超毛,你丫吹了半天牛B,还是没说怎么学啊”

呵呵,我也没啥特别的办法,只是推荐几本好书。推荐的书,得按先后顺序看。别第一本没看完,就急着上第二本,并不是每次“穿越”都能成功的

第一阶段:《JavaScript DOM编程艺术》

看这本书之前,请先确认您对Javascript有个基本的了解,应该知道if else之类的语法,如果不懂,先去看看我第二阶段推荐的《Javascript高级程序设计》的前三章,记住看三章就别往下看了,回到《JavaScript DOM编程艺术》这本书上来。

学习Javascript用《JavaScript DOM编程艺术》来入门最好不过了,老老实实看两遍,看完了你就会对JS有一个大概的了解,整本书都围绕着一个网页效果例子展开,你跟着老老实实敲一篇,敲完之后,你会发现这个效果不是常在网页中看到么,发现自己也能做出来网上的效果了,嘿嘿,小有成就感吧。

第二阶段:《JavaScript高级程序设计》

有的书是用来成为经典的,比如犀牛书;还有些书是用来超越经典的,显然这本书就是这种。书中章章经典,由浅入深,其中第6章,关于JS面向对象的解说,没有教程出其右。

如果有一场满分100分的JS考试,看了《JavaScript DOM编程艺术》能让你拿到20分,那么看完这本书,你就能拿到60分以上了。学完后,你会成就感倍增的,相信我(至少看两遍,推荐三篇,跟着书上的代码一行行的敲)。

这本书强烈推荐购买,写的太TMD牛逼了,给你带来的价值超过百倍千倍。

这本书最新的是第三版,貌似就是前些日子出来的,我看的是第二版,第三版相对第二版变动不大,添加了几章内容,价格目前相差10元左右。

接下来,恭喜你可以下山了,这个时候可以自己做一些事情了

你可以去Ferris这个教程看看他写的这些效果,看看源代码,怎么样,是不是觉得有一部分很简单了,尝试着跟着他写一写这些效果吧。

学技术闭门造车是行不通的,适当的加一两个QQ群交流(注重质量),常去论坛逛逛,你会经常有些小收获的。

再有就是看看前辈这些牛人前辈们分享的文章,它会让你的学习事半功倍的,这里是热心人收集的国内一些牛人的博客、个人网站,点这里。

第三阶段:《JavaScript语言精粹》和《高性能JavaScript》

接下来两本书《JavaScript语言精粹》和《高性能JavaScript》算是JS高级教程的补充,里面有一些内容和JS高级教程重复了,两本书可以同时看,都不厚,可以对前面所学的有一个很好的加强和巩固。

第四阶段:《JavaScript DOM高级程序设计》和《JavaScript设计模式》

在吃透了前面所说的书之后,接下来两本书的顺序已经无关紧要了,《JavaScript DOM高级程序设计》(注意和《JavaScript 高级程序设计》相区别)和《JavaScript设计模式》,这两本都是重量级的书,能让你的JS技术上一个新的台阶;这两本书前者主修炼外功,后者主修炼内功,有点想乾坤大挪移和九阳神功的关系。

《JavaScript DOM高级程序设计》 首先教你搭建一个类似JQuery的额工具函数库,然后通过讲解几个实际中经常遇到的几个应用例子,会让初学者受益匪浅。

《JavaScript设计模式》主要讲Javascript的设计模式,说实话,翻译的质量很一般,有些生硬,但已经基本不影响你的学习,看代码完全可以理解出自己的意思。

这两本书出来一段时间了,可能买不着了,提供下载地址:

JavaScript作为网站前端的核心知识是非常重要的,但是如何学习JavaScript是很多初学者面对的一个难题,下面我说一下个人对于如何学习JavaScript的一点心得,希望能帮到大家。

1、首先学习基础,尤其是JavaScript与其他语言不同的基础知识。

学习每个编程语言可能都要从基础的变量函数结构等学起,JavaScript相对于其他的编程语言在基础上有一些比较有特点的地方,这些东西是尤其需要我们注意的,比如说自调函数、比如说变量值为空不是null而是undefined的等,这些东西都是和主流的编程的语言如c++、java等是有区别的,所以想要学好JavaScript,这些基础的知识一定要把握好学习好才行。

2、关于学习JavaScript的进阶

JavaScript进阶知识更是有很多难理解的东西和不同于其他语言的东西,这些东西都是深入学习JavaScript的难点,简单的说一下JavaScript是基于对象的浏览器脚本语言,但是为了使JavaScript也能够支持面向对象编程,人们就使用了很多的方法来模拟面向对象的的特点,这些就变成了JavaScript的一些难点,比如说JavaScript的继承要借助原型、比如JavaScript的类需要使用构造函数来构造一个对象等,这些东西都是和其他支持面向对象的语言是不同的,所以就导致了一些难点。关于进阶学习JavaScript,还有JavaScript一些深入的知识需要去理解比如原型链和闭包、比如收函数的作用域执行流程和上下文,这些东西都是JavaScript比较深入的知识、

最后说明,JavaScript作为前端的核心语言绝对没有没有想象的那么简单,要想学好JavaScript除了以上提到的知识和注意点,还需要的就是多动手和实践,我们都知道网页上的所有特效都是借助JavaScript来实现,那么我们就需要在学习JavaScript的过程中多使用原生的JavaScript代码实现一些特效,当然学习使用jQuery等JavaScript类库进行开发也十分的重要,但是这绝对不能是取代我们学习JavaScript的方法。