node.js的学习方法以及大致流程.doc_第1页
node.js的学习方法以及大致流程.doc_第2页
node.js的学习方法以及大致流程.doc_第3页
node.js的学习方法以及大致流程.doc_第4页
node.js的学习方法以及大致流程.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

黑哥带你一起学习JS自序:大家好,我是卷皮网黑哥,我从事PHP开发三年了,对JS的喜欢胜过PHP。我刚开始上班的时候,对于JS也是懵懂一点点,因为大学的时候学过一点JS基础东西。在13年上半年的时候,我觉得有些JS没有必要去自己去写,快速的学习了JQ。可在实际项目中深刻体会到不会JS真是硬伤,对应web页面中很多交互,数据提交校验,数据交互都做不来。那时候我觉得自己好没有用,连一些JS交互的东西都写不出来,很是失败。打开百度,搜索如何学习JS,感觉好多人写的一些教程都是千篇一律,有些人说JS只能在浏览器中运行,有的说JS这个东西,了解了解就可以,没有必要深入,反正网上各种说法都有。作为一个phper,对于js或多或少要学习一些基础,毕竟在国内的公司,基本上都要求会js。在web的世界以及移动互联网的世界里,js越来越重要,各种交互都依赖于js,无论是做java,安卓开发,php,ios,c#都会接触到js,甚至有的项目中必须用原生的JS来开发。既然我们在开发中要用js,那为什么不花点时间去学习和研究它呢?有些人说JS难,有些人说浏览器中JS东西太多了,有人说JS的兼容性太难搞定了,有些人甚至抱怨JS太丑陋了,语法各种奇葩。其实在黑哥看来,这些都不是问题,因为JS真的没有难,难的是你没有耐心和时间好好去学习,深入研究它的精髓所在。好了,废话少说,让黑哥带你一起走进js学习之旅吧!在本教程中,如有不对的地方,欢迎大家给我提出来,可以发邮件到:1114789385,谢谢!2015-11-01深圳大剧院主讲内容:1、 javascript基础知识(语法和数据类型)2、 利用终端JS快速学习3、 浏览器对象模型BOM4、 Dom(文档对象)基础和操作样式5、 原生态的js进行ajax通信6、 jquery基本用法7、 利用jq做ajax异步通信8、 jquery实战demo1、 Js简介1 什么是JS?JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。但在2009年随着nodejs的崛起,js不再是浏览器的宠儿,它既可以在浏览器中运行,也可以在服务端运行,这主要归功于谷歌的v8引擎。黑哥对JS的理解:js是一种基于对象和事件驱动的松散型解释型语言。对象:具有共同特性一类,比如说人(黄种人,白种人),动物(哺乳动物,爬行动物)。在js中,所有事物都是对象:字符串、数值、数组、函数。原因是他们每一种类型有共同的特征属性。事件驱动:可以理解为执行一个动作。比如说:1用户对网页做了某些操作,比如,点击了一个按钮,产生点击事件。 2用户没有对网页做操作,也可能产生事件,比如浏览器已经将整个页面加载完毕,会产生加载完成事件,如动画,弹窗效果等。松散的解释型:在js中可以说根本没有变量的说法,因为变量的类型不固定,相对java(严格类型)来说,比较灵活。Js不需要提前编译,直接可以在浏览器上执行,现在谷歌的v8引擎出现(nodejs)可以执行在服务器端,构建轻量级,高并发的web应用程序。Js源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。JS组成:1)ECMAScript,描述了JS的语法和基本对象2)DOM文档对象,描述处理网页内容的方法和接口3)BOM浏览器对象,描述与浏览器进行交互的方法和接口2 JS应用在那些地方呢?1) js可以嵌入到动态语言,html页面中(其他的编程语言php,ruby,c+)2) Web应用的崛起,发展迅速,构建高效的便于用户体验的应用至关重要。比如说游戏开发中各种特效,手机应用app,pc端各种软件和浏览器web应用,百度地图,谷歌地图等。3) 服务器端(nodejs),构建轻量级,高并发的应用,时时更新系统(聊天系统socket.io),文件处理系统,HTTP服务器,代理服务器等4) 由于js运行在客户端,节省了web服务器的请求时间和带宽可以减轻服务器响应的压力。说完了js是什么以及它应用的一些场景,那接下来,我会带大家一起学习JS的基础知识。2、 JS的学习环境和工具在学习JS之前,请允许黑哥多啰嗦一下,以后会说明原因的。对于一个武士来说,一把好剑占据了一半,它的威力不可挥视。同样,在学习JS的时候,我们也需要一把好剑,这样我们在学习的过程中才能事半功倍。黑哥推荐大家使用火狐的JS终端,下载地址:/pub//js/js-1.8.0-rc1.tar.gz 另外一个是谷歌推出的nodejs,下载地址:/en/ ,或者用浏览器环境(需要我们编写好html,把js嵌套进入才可以运行)。对于js终端工具需要在linux环境才可以运行,nodejs环境在不同的操作系统平台都可以运行。浏览器环境,在我们的电脑上已经自带了js运行的环境。在这三种环境中,我个人比较喜欢终端JS和Nodejs运行的环境,因为学习JS的基础知识不需要频繁的编辑好JS文件,然后保存为html文件,最后在浏览器中运行,太过于依赖浏览器宿主环境。为什么我这么说呢,因为浏览器宿主环境是根据不同的浏览器厂商加入了他们自己独特的东西,这导致了JS在不同的浏览器上有差异和不兼容的问题出现,归根结底,其实就是bom(浏览器对象)和dom(文档对象)的操作不同而已。所以,黑哥在接下来的教程中暂时抛弃下浏览器。诚然,我不是故意的,在后续的教程中,我会明确指出JS运行的环境。1、 终端JS搭建请确保已经安装好linux操作系统,我安装的是centos6.5,所以我就以centos为例说下终端JS的安装:下面是安装的shell命令cd yourpath(安装路径)wget /pub//js//pub//js/js-1.8.0-rc1.tar.gztar zxvf js-1.8.0-rc1.tar.gzcd js/srcmake -f Makefile.refmkdir -p /usr/include/smjs/ -vcp *.h,tbl /usr/include/smjs/ -vcd Linux_All_DBG.OBJcp *.h /usr/include/smjs/ -vmkdir -p /usr/local/bin,lib/ -vcp js /usr/local/bin/ -vcp libjs.so /usr/local/lib/ -v以上安装完成后,运行/usr/local/bin/js 就应该可以启动js解释运行引擎了,至于具体的linux命令,请参考书籍:鸟哥的私房菜基础篇。进入终端方法:在终端窗口中输入js即可。2、 nodejs环境的安装对于win环境,在nodejs官网下载nodejs后,运行安装,安装目录请选择C盘之外的目录即可。安装好nodejs,把安装好的nodejs路径,添加到环境变量path中。我安装的nodejs路径:D:win7nodejs;添加到环境变量中:点击电脑右下角的“开始”,输入cmd回车之后,然后接着输入node -v查看nodejs版本对于linux操作系统的nodejs安装如下:1 安装gcc-c+,openssl,nodejsyum install gcc-c+ openssl-devel其中gcc-c+,openssl-devel必须安装,否则nodejs会安装失败cd /usr/local/srcwget /dist/v0.10.22/node-v0.10.22.tar.gz你可以下载新的版本 /dist或者下载最新版wget /dist/node-latest.tar.gztar zxvf node-latest.tar.gzcd node-v0.10.22./configuremakemake install注意,./configure需要python2.6+对于终端的使用:在win下,安装好nodejs之后,进入dos窗口,输入node即可在linux下,直接输入node可以进入命令终端。对于终端JS环境,直接输入js即可。三、JS基础知识1 基本语法和数据类型A基本语法1) 区分大小写,var x=23,X=32;2) 变量标识符,下划线或者字母开头,变量一般建议采用驼峰式命名方式,变量名不能以数字开头。3) 注释,行内注释/,多行注释/*-*/4) 严格模式,use script;为了不破坏ECMAScript3规则5) 关键字,break,do,else,if.等B数据类型五种基本类型:未定义undefined空对象null布尔值boolean数值number字符串string还有一种复杂的类型object(function)检测基本类型:typeof strUndefined:表示理解为变量未经初始化,如果我们在使用一个变量没有定义的时候就会显示Null表示一个空对象指针(内存中未分配的空对象),未来可能分配使用,一般来说如果对象没有使用之前,用null声明下就可以,这样可以区分undefined布尔类型:true,false和数字无关,ture不一定是1,false不一定是0数值类型Number两种数值类型:整数类型和浮点数十进制比如128进制:020 2*8=16 前面加上0作为前缀,0-716进制:0xA 0x开头 ,后面接着0-9,A-Z表示大小写不区分浮点型:12.12,13.23数值中必须包含一个小数点,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论