JavaScript入门经典
- 格式:doc
- 大小:2.49 MB
- 文档页数:30
ios开发入门必看书籍下面是店铺为大家收集整理的ios开发入门必看书籍推荐的书籍,每本都是很经典的著作,对于初学者来说是很值得一看的学习资料,希望能帮到大家!ios开发入门必看书籍iPhone 4与 iPad开发基础教程本书将带你走上创建iOS应用程序的大道。
我们的目标是让你通过初步学习,理解iOS应用程序的运行和构建方式。
在学习过程中,你将创建一系列小型应用程序,每个应用程序都会突出某些iOS特性,展示如何控制这些特性或与其交互。
iOS 4 编程入门经典本书就是为这些初学者量身打造的。
值得一提的是,本书不仅介绍了iPhone、iPad开发所需的方方面面的技术,而且涵盖了iOS 4编程的许多新特性,是初学者不可多得的一本参考书。
面向iOS与Android平台的移动开发《新手学HTML5移动开发——面向iOS和Android平台》一书为您讲解了如何使用Html5和CSS3等最新的技术在苹果公司iOS和谷歌公司Android设备上开发Web和独立应用程序。
本书假定您之前并无这方面的编程知识,因此会介绍这两种技术(HTML5和CSS3)的基本原理,以及JavaScript、MySQL和PHP等支撑技术。
iPhone 开发基础教程本书提供了关于iPhone SDK和iPhone开发的全面信息,对Objective-C编程语言、Xcode和 Interface Builder开发工具进行了深入浅出的介绍,同时对iPhone开发的基本流程、原理和原则进行了详细和通俗的讲解。
iPhone SDK编程入门经典学习iphone应用程序开发并非遥不可及。
《iphone sdk编程入门经典:使用obiective-c》提供了关于appleiphonesdk示例驱动的简易指南,透彻地揭示了如何使用obiective-c进行iphone应用程序开发。
通过每章的练习,您将不断进步,最终会发现创建iphone应用程序所需的每一步操作背后的简单逻辑。
JavaScript 简介之杨若古兰创作JavaScript 有什么特点JavaScript 使网页添加互动性.JavaScript 使有规律地反复的HTML文段简化,减少下载时间.JavaScript 能及时呼利用户的操纵,对提交表单做即时的检查,无需浪费时间交由CGI 验证.JavaScript 的特点是无量无尽的,只需你有创意. Java 与 JavaScript 有什么分歧很多人看到Java 和JavaScript 都有“Java”四个字,就觉得它们是同一样东西,连我本人当初也是如许.其实它们是完完好全分歧的两种东西.Java,全称应当是Java Applet,是嵌在网页中,而又有本人独立的运转窗口的小程序.Java Applet 是事后编译好的,一个Applet 文件(.class)用Notepad 打开浏览,根本不克不及理解.Java Applet 的功能很强大,可以访问http、ftp等和谈,甚至可以在电脑上种病毒(已有先例了).比拟之下,JavaScript 的能力就比较小了.JavaScript 是一种“脚本”(“Script”),它直接把代码写到HTML 文档中,浏览器读取它们的时候才进行编译、履行,所以能检查HTML 源文件就能检查JavaScript 源代码.JavaScript 没有独立的运转窗口,浏览器当前窗口就是它的运转窗口.它们的不异点,我想只要同是以 Java 作编程说话一点了.开发 JavaScript 该用什么软件一个 JavaScript 程序其实是一个文档,一个文本文件.它是嵌入到HTML 文档中的.所以,任何可以编写HTML 文档的软件都可以用来开发JavaScript.在此我推荐大家用FrontPage 2000 附带的Microsoft 脚本编辑器(在FrontPage 菜单 | 工具 | 宏 | Microsoft 脚本编辑器).它是个像Visual Basic / C++ 一样的程序开发器,能对正在输入的语句作出简要提示.配合FrontPage 2000,使工作量大大减少. JavaScript 说话的基础在什么地方拔出 JavaScriptJavaScript 可以出此刻HTML 的任意地方.使用标识表记标帜<script>…</script>,你可以在HTML 文档的任意地方拔出JavaScript,甚至在<HTML>之前拔出也不成成绩.不过如果要在声明框架的网页(框架网页)中拔出,就必定要在<frameset>之前拔出,否则不会运转.基本格式<script><!--...(JavaScript代码)...//--></script>第二行和第四行的感化,是让不懂<script>标识表记标帜的浏览器忽略JavaScript 代码.普通可以省略,因为此刻想找不懂Script 的浏览器,恐怕就连博物馆里也没有了.第四行前边的双反斜杠“//”是 JavaScript 里的正文标号,当前将学到.另外一种拔出 JavaScript 的方法,是把JavaScript 代码写到另一个文件当中(此文件通常应当用“.js”作扩展名),然后用格式为“<script src="javascript.js"></script>”的标识表记标帜把它嵌入到文档中.留意,必定要用“</script>”标识表记标帜.参考<script>标识表记标帜还有一个属性:language(缩写lang),说明脚本使用的说话.对于JavaScript,请用“language="JavaScript"”.参考绝对于<script>标识表记标帜,还有一个<server>标识表记标帜.<server>标识表记标帜所包含的,是服务器端(Server Side)的脚本.本教程只讨论客户器端(Client Side)的JavaScript,也就是用<script>标识表记标帜包含的脚本.如果想在浏览器的“地址”栏中履行JavaScript 语句,用如许的格式:javascript:<JavaScript语句>如许的格式也能够用在连接中:<a href="javascript:<JavaScript语句>">...</a>JavaScript 基本语法每一句JavaScript 都有类似于以下的格式:<语句>;其平分号“;”是JavaScript 说话作为一个语句结束的标识符.虽然此刻很多浏览器都答应用回车充当结束符号,培养用分号作结束的习气仍然是很好的.语句块语句块是用大括号“{ }”括起来的一个或 n 个语句.在大括号里边是几个语句,但是在大括号外边,语句块是被当作一个语句的.语句块是可以嵌套的,也就是说,一个语句块里边可以再包含一个或多个语句块.JavaScript 中的变量什么是变量从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器.所储存的值,可所以数字、字符或其他的一些东西.变量的命名变量的命名有以下请求:只包含字母、数字和/或下划线;要以字母开头;不克不及太长(其实有什么人爱好使用又长又臭的名字呢?);不克不及与 JavaScript 保存字(Key Words,Reserved Words,数量繁多,不克不及逐个列出;凡是可以用来做JavaScript 命令的字都是保存字)反复.而且,变量是区分大小写的,例如,variable 和Variable 是两个分歧的变量.不但如此,大部分命令和“对象”(请参阅“对象化编程”章)都是区分大小写的.提示给变量命名,最好防止用单个字母“a”“b”“c”等,而改用能清楚表达该变量在程序中的感化的词语.如许,不但他人能更容易的了解你的程序,而且你在当前要点窜程序的时候,也很快会记得该变量的感化.变量名普通用小写,如果是由多个单词构成的,那么第一个单词用小写,其他单词的第一个字母用大写.例如:myVariable 和myAnotherVariable.如许做仅仅是为了美观和易读,因为JavaScript 一些命令(当前将用更具体的方法论述“命令”一词)都是用这类方法命名的:indexOf;charAt 等等.变量须要声明没有声明的变量不克不及使用,否则会出错:“不决义”.声明变量可以用:var <变量> [= <值>];var我们接触的第一个关键字(即保存字).这个关键字用出声明变量.最简单的声明方法就是“var <变量>;”,这将为<变量>筹办内存,给它赋初始值“null”.如果加上“= <值>”,则给<变量>赋予自定的初始值<值>.数据类型变量可以用的数据类型有:整型只能储存整数.可所以正整数、0、负整数,可所以十进制、八进制、十六进制.八进制数的暗示方法是在数字前加“0”,如“0123”暗示八进制数“123”.十六进制则是加“0x”:“0xEF”暗示十六进制数“EF”.浮点型即“实型”,能储存小数.有材料显示,某些平台对浮点型变量的撑持不波动.没有须要就不要用浮点型.字符串型是用引号“" "”、“' '”包起来的零个至少个字符.用单引号还是双引号由你决定.跟语文一样,用哪个引号开始就用哪个结束,而且单双引号可嵌套使用:'这里是"JavaScript 教程".' 不过跟语文分歧的是,JavaScript 中引号的嵌套只能有一层.如果想再多嵌一些,你须要本义字符:本义字符因为一些字符在屏幕上不克不及显示,或者JavaScript 语法上曾经有了特殊用处,在要用这些字符时,就要使用“本义字符”.本义字符用斜杠“\”开头:\' 单引号、\" 双引号、\n 换行符、\r 回车(以上只列出经常使用的本义字符).因而,使用本义字符,就可以做到引号多重嵌套:'Micro 说:"这里是\"JavaScript 教程\"." '布尔型经常使用于判断,只要两个值可选:true(表“真”)和false(表“假”).true 和false 是JavaScript 的保存字.它们属于“常数”.对象关于对象,在“对象化编程”一章将具体讲到.因为JavaScript 对数据类型的请求不严酷,普通来说,声明变量的时候不须要声明类型.而且就算声明了类型,在过程中还可以给变量赋予其他类型的值.声明类型可以用赋予初始值的方法做到:var aString = '';这将把 aString 定义为具有空值的字符串型变量.var anInteger = 0;这将把 anInteger 定义为值为 0 的整型.变量的赋值一个变量声明后,可以在任何时候对其赋值.赋值的语法是:<变量> = <表达式>;其中“=”叫“赋值符”,它的感化是把右侧的值赋给右边的变量.下一节将讨论到表达式.JavaScript常数有以下几个:null一个特殊的空值.当变量不决义,或者定义以后没有对其进行任何赋值操纵,它的值就是“null”.企图返回一个不存在的对象时也会出现null 值.NaN“Not a Number”.出现这个数值比较少见,以致于我们可以不睬它.当运算没法返回准确的数值时,就会返回“NaN”值.NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至NaN 本人也不等于NaN .true布尔值“真”.用通俗的说法,“对”.false布尔值“假”.用通俗的说法,“错”.在Math表达式与运算符表达式常数和变量连接起来的代数式.一个表达式可以只包含一个常数或一个变量.运算符可所以四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符.下表将这些运算符从高优先级到低优先级排列:留意所有与四则运算有关的运算符都不克不及感化在字符串型变量上.字符串可以使用 +、+= 作为连接两个字符串之用.提示请密切留意运算的优先级.编程时如果不记得运算符的优先级,可以使(a == 0)||(b == 0)..例如,用以下语= c = 10,可以一次对三个JavaScript 基本编程命正文像其他所有说话一样,JavaScript 的正文在运转时也是被忽略的.正文只给程序员提供动静.JavaScript 正文有两种:单行正文和多行正文.单行正文用双反斜杠“//”暗示.当一行代码有“//”,那么,“//”后面的部分将被忽略.而多行正文是用“/*”和“*/”括起来的一行到多行文字.程序履行到“/*”处,将忽略当前的所有文字,直到出现“*/”为止.提示如果你的程序须要草稿,或者须要让他人浏览,正文能帮上大忙.养成写正文的习气,能节省你和其他程序员的贵重时间,使他们不必花费多余的时间揣摩你的程序.在程序调试的时候,有时须要把一段代码换成另一段,或者临时不要一段代码.这时候最忌用 Delete 键,如果想要回那段代码如何办?最好还是用正文,把临时不要的代码“隐”去,到确定方法当前再删除也不迟.if 语句if ( <条件> ) <语句1> [ else <语句2> ];本语句有点象条件表达式“?:”:当<条件>为真时履行<语句1>,否则,如果else 部分存在的话,就履行<语句2>.与“?:”分歧的是,if 只是一条语句,不会返回数值.<条件>是布尔值,必须用小括号括起来;<语句1>和<语句2>都只能是一个语句,欲使用多条语句,请用语句块.留意请看下例:if (a == 1) if (b == 0) alert(a+b);else alert(a-b);本代码企图用缩进的方法说明else 是对应if (a == 1) 的,但是实际上,因为else 与if (b == 0) 最附近,本代码不克不及按作者的设法运转.准确的代码是if (a == 1) { if (b == 0) alert(a+b);} else { alert(a-b);}提示一行代码太长,或者涉及到比较复杂的嵌套,可以考虑用多行文本,如上例,if (a == 1) 后面没有立即写上语句,而是换一行再继续写.浏览器不会混淆的,当它们读完一行,发现是一句未完成语句,它们会继续往下读.使用缩进也是很好的习气,当一些语句与上面的一两句语句有从属关系时,使用缩进能使程序更易读,方便程序员进行编写或点窜工作.轮回体for (<变量>=<初始值>; <轮回条件>; <变量累加方法>) <语句>;本语句的感化是反复履行<语句>,直到<轮回条件>为false 为止.它是如许运作的:首先给<变量>赋<初始值>,然后*判断<轮回条件>(应当是一个关于<变量>的条件表达式)是否成立,如果成立就履行<语句>,然后按<变量累加方法>对<变量>作累加,回到“*”处反复,如果不成立就退出轮回.这叫做“for轮回”.上面看看例子.for (i = 1; i < 10; i++) document.write(i);本语句先给i 赋初始值1,然后履行document.write(i)语句(感化是在文档中写i 的值,请参越“对象化编程”一章);反复时i++,也就是把i 加1;轮回直到i<10 不满足,也就是i>=10 时结束.结果是在文档中输出了“123456789”.和 if 语句一样,<语句>只能是一行语句,如果想用多条语句,你须要用语句块.与其他说话分歧,JavaScript 的for 轮回没有规定轮回变量每次轮回必定要加一或减一,<变量累加方法>可所以任意的赋值表达式,如i+=3、i*=2、i-=j 等都成立.提示适当的使用for 轮回,能使HTML 文档中大量的有规律反复的部分简化,也就是用for 轮回反复写一些HTML 代码,达到提高网页下载速度的目的.不过请在Netscape 中反复进行严酷测试,包管通过了才好把网页传上去.作者曾试过多次因为用for 轮回向文档反复写HTML 代码而导致Netscape“猝死”.IE 中绝对没有这类事情发生,如果你的网也是只给IE 看的,用多多的 for 也没成绩.除了 for 轮回,JavaScript 还提供while 轮回.while (<轮回条件>) <语句>;比 for 轮回简单,while 轮回的感化是当满足<轮回条件>时履行<语句>.while 轮回的累加性质没有for 轮回强.<语句>也只能是一条语句,但是普通情况下都使用语句块,因为除了要反复履行某些语句以外,还须要一些能变动<轮回条件>所涉及的变量的值的语句,否则一但踏入此轮回,就会因为条件老是满足而不断困在轮回里面,不克不及出来.这类情况,我们习气称之为“死轮回”.死轮回会弄停当时正在运转的代码、正鄙人载的文档,和占用很大的内存,很可能形成死机,应当尽最大的努力防止.break和 continue有时候在轮回体内,须要立即跳出轮回或跳过轮回体内其余代码而进行下一次轮回.break 和 continue 帮了我们大忙.break;本语句放在轮回体内,感化是立即跳出轮回.continue;本语句放在轮回体内,感化是中断本次轮回,并履行下一次轮回.如果轮回的条件曾经不符合,就跳出轮回.例for (i = 1; i < 10; i++) { if (i == 3 || i == 5 || i == 8) continue; document.write(i);}输出:124679.switch 语句如果要把某些数据分类,例如,要把先生的成绩按优、良、中、差分类,我们可能会用 if 语句:if (score >= 0 && score < 60) { result = 'fail';} else if (score < 80) { result = 'pass';} else if (score < 90) { result = 'good';} else if (score <= 100) { result = 'excellent';} else { result = 'error';}看起来没有成绩,但使用太多的 if 语句的话,程序看起来有点乱.switch 语句就是解决这类成绩的最好方法. switch (e) { case r1: (留意:冒号)... [break;] case r2: ... [break;] ... [default: ...]}这一大段的感化是:计算e 的值(e 为表达式),然后跟下边“case”后的r1、r2……比较,当找到一个相等于e 的值时,就履行该“case”后的语句,直到碰到break 语句或switch 段落结束(“}”).如果没有一个值与e 匹配,那么就履行“default:”后边的语句,如果没有default 块,switch 语句结束.上边的 if 段用 switch 改写就是:switch (parseInt(score / 10)) { case 0: case 1: case 2: case 3: case 4: case 5: result = 'fail'; break; case 6: case 7: result = 'pass'; break; case 8: result = 'good'; break; case 9: result = 'excellent'; break; default: if (score == 100) result = 'excellent'; else result = 'error';}其中parseInt()方法是当前会介绍的,感化是取整.最初default 段用的if 语句,是为了不把100 分当错误论(parseInt(100 / 10) == 10).. 对象化编程JavaScript 是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript 能涉及的范围划分成大大小小的对象,对象上面还继续划分对象直至非常具体为止,所有的编程都以对象为出发点,基于对象.小到一个变量,大到网页文档、窗口甚至屏幕,都是对象.这一章将“面向对象”讲述JavaScript 的运转情况.对象的基本常识对象是可以从JavaScript“势力范围”中划分出来的一小块,可所以一段文字、一幅图片、一个表单(Form)等等.每个对象有它本人的属性、方法和事件.对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能呼应发生在对象上的事情,例如提交表单发生表单的“提交事件”,点击连接发生的“点击事件”.不是所有的对象都有以上三个性质,有些没有事件,有些只要属性.援用对象的任一“性质”用“<对象名>.<性质名>”这类方法.基本对象此刻我们要复习以上学过的内容了——把一些数据类型用对象的角度从头进修一下.Number“数字”对象.这个对象用得很少,作者就一次也没有见过.不过属于“Number”的对象,也就是“变量”就多了.属性MAX_VALUE用法:Number.MAX_VALUE;返回“最大值”.MIN_VALUE用法:Number.MIN_VALUE;返回“最小值”.NaN用法:Number.NaN 或NaN;返回“NaN”.“NaN”(不是数值)在很早就介绍过了.NEGATIVE_INFINITY用法:Number.NEGATIVE_INFINITY;返回:负无量大,比“最小值”还小的值.POSITIVE_INFINITY用法:Number.POSITIVE_INFINITY;返回:正无量大,比“最大值”还大的值.方法toString()用法:<数值变量>.toString();返回:字符串方式的数值.如:若a == 123;则a.toString() == '123'.String字符串对象.声明一个字符串对象最简单、快捷、无效、经常使用的方法就是直接赋值.属性length用法:<字符串对象>.length;返回该字符串的长度.方法charAt()用法:<字符串对象>.charAt(<地位>);返回该字符串位于第<地位>位的单个字符.留意:字符串中的一个字符是第0 位的,第二个才是第1 位的,最初一个字符是第 length - 1 位的.charCodeAt()用法:<字符串对象>.charCodeAt(<地位>);返回该字符串位于第<地位>位的单个字符的ASCII 码.fromCharCode()用法:String.fromCharCode(a, b, c...);返回一个字符串,该字符串每个字符的ASCII 码由 a, b, c... 等来确定.indexOf()用法:<字符串对象>.indexOf(<另一个字符串对象>[, <起始地位>]);该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始地位>就忽略之前的地位),如果找到了,就返回它的地位,没有找到就返回“-1”.所有的“地位”都是从零开始的.lastIndexOf()用法:<字符串对象>.lastIndexOf(<另一个字符串对象>[, <起始地位>]);跟indexOf() 类似,不过是从后边开始找.split()用法:<字符串对象>.split(<分隔符字符>);返回一个数组,该数组是从<字符串对象>平分离开来的,<分隔符字符>决定了分离的地方,它本人不会包含在所返回的数组中.例如:'1&2&345&678'.split('&')返回数组:1,2,345,678.关于数组,我们等一下就讨论.substring()用法:<字符串对象>.substring(<始>[, <终>]);返回原字符串的子字符串,该字符串是原字符串从<始>地位到<终>地位的前一地位的一段.<终> - <始> = 返回字符串的长度(length).如果没有指定<终>或指定得超出字符串长度,则子字符串从<始>地位不断取到原字符串尾.如果所指定的地位不克不及返回字符串,则返回空字符串.substr()用法:<字符串对象>.substr(<始>[, <长>]);返回原字符串的子字符串,该字符串是原字符串从<始>地位开始,长度为<长>的一段.如果没有指定<长>或指定得超出字符串长度,则子字符串从<始>地位不断取到原字符串尾.如果所指定的地位不克不及返回字符串,则返回空字符串.toLowerCase()用法:<字符串对象>.toLowerCase();返回把原字符串所有大写字母都酿成小写的字符串.toUpperCase()用法:<字符串对象>.toUpperCase();返回把原字符串所有小写字母都酿成大写的字符串. Array数组对象.数组对象是一个对象的集合,里边的对象可所以分歧类型的.数组的每一个成员对象都有一个“下标”,用来暗示它在数组中的地位(既然是“地位”,就也是从零开始的啦).数组的定义方法:var <数组名> = new Array();如许就定义了一个空数组.当前要添加数组元素,就用:<数组名>[<下标>] = ...;留意这里的方括号不是“可以省略”的意思,数组的下标暗示方法就是用方括号括起来.如果想在定义数组的时候直接初始化数据,请用:var <数组名> = new Array(<元素1>, <元素2>, <元素3>...);例如,var myArray = new Array(1, 4.5, 'Hi'); 定义了一个数组myArray,里边的元素是:myArray[0] == 1; myArray[1] == 4.5; myArray[2] == 'Hi'.但是,如果元素列表中只要一个元素,而这个元素又是一个正整数的话,这将定义一个包含<正整数>个空元素的数组.留意:JavaScript只要一维数组!千万不要用“Array(3,4)”这类笨拙的方法来定义 4 x 5 的二维数组,或者用“myArray[2,3]”这类方法来返回“二维数组”中的元素.任意“myArray[...,3]”这类方式的调用其实只返回了“myArray[3]”.要使用多维数组,请用这类虚拟法:var myArray = new Array(new Array(), new Array(), new Array(), ...);其实这是一个一维数组,里边的每一个元素又是一个数组.调用这个“二维数组”的元素时:myArray[2][3] = ...;属性length用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素.它等于数组里最初一个元素的下标加一.所以,想添加一个元素,只须要:myArray[myArray.length] = ....方法join()用法:<数组对象>.join(<分隔符>);返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间.这个方法不影响数组本来的内容.reverse()用法:<数组对象>.reverse();使数组中的元素顺序反过来.如果对数组[1, 2, 3]使用这个方法,它将使数组酿成:[3, 2, 1].slice()用法:<数组对象>.slice(<始>[, <终>]);返回一个数组,该数组是原数组的子集,始于<始>,终究<终>.如果不给出<终>,则子集不断取到原数组的结尾.sort()用法:<数组对象>.sort([<方法函数>]);使数组中的元素按照必定的顺序排列.如果不指定<方法函数>,则按字母顺序排列.在这类情况下,80 是比9 排得前的.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序.<方法函数>比较难讲述,这里只将一些有效的<方法函数>介绍给大家.按升序排列数字:function sortMethod(a, b) { return a - b;}myArray.sort(sortMethod);按降序排列数字:把上面的“a - b”该成“b - a”.有关函数,请看上面.Math“数学”对象,提供对数据的数学计算.上面所提到的属性和方法,不再具体说明“用法”,大家在使用的时候记住用“Math.<名>”这类格式.属性E返回常数e (2.718281828...).LN2返回2 的天然对数 (ln 2).LN10返回 10 的天然对数 (ln 10).LOG2E返回以 2 为低的e 的对数(log2e).LOG10E返回以10 为低的 e 的对数(log10e).PI返回π(3.1415926535...).SQRT1_2返回 1/2 的平方根.SQRT2返回 2 的平方根.方法abs(x)返回 x 的绝对值.acos(x)返回 x 的反余弦值(余弦值等于x 的角度),用弧度暗示.asin(x)返回x 的反正弦值.atan(x)返回x 的反正切值.atan2(x, y)返回复平面内点(x, y)对应的复数的幅角,用弧度暗示,其值在-π 到π 之间.ceil(x)返回大于等于x 的最小整数.cos(x)返回 x 的余弦.exp(x)返回 e 的x 次幂 (e x).floor(x)返回小于等于 x 的最大整数.log(x)返回x 的天然对数(ln x).max(a, b)返回 a, b 中较大的数.min(a, b)返回a, b 中较小的数.pow(n, m)返回n 的m 次幂(n m).random()返回大于0小于1 的一个随机数.round(x)返回x 四舍五入后的值.sin(x)返回x 的正弦.sqrt(x)返回 x 的平方根.tan(x)返回 x 的正切.Date日期对象.这个对象可以储存任意一个日期,从0001 年到9999 年,而且可以精确到毫秒数(1/1000 秒).在内部,日期对象是一个整数,它是从1970 年1 月1 日零时正开始计算到日期对象所指的日期的毫秒数.如果所指日期比1970 年早,则它是一个负数.所有日期时间,如果不指定时区,都采取“UTC”(世界时)时区,它与“GMT”(格林威治时间)在数值上是一样的.定义一个日期对象:var d = new Date;这个方法使d 成为日期对象,而且已有初始值:当前时间.如果要自定初始值,可以用:var d = new Date(99, 10, 1); //99 年10 月1 日var d = new Date('Oct 1, 1999'); //99 年 10 月 1 日等等方法.最好的方法就是用上面介绍的“方法”来严酷的定义时间.方法以下有很多“g/set[UTC]XXX”如许的方法,它暗示既有“getXXX”方法,又有“setXXX”方法.“get”是获得某个数值,而“set”是设定某个数值.如果带有“UTC”字母,则暗示获得/设定的数值是基于UTC 时间的,没有则暗示基于当地时间或浏览期默认时间的.如无说明,方法的使用格式为:“<对象>.<方法>”,下同.g/set[UTC]FullYear()返回/设置年份,用四位数暗示.如果使用“x.set[UTC]FullYear(99)”,则年份被设定为 0099 年.g/set[UTC]Year()返回/设置年份,用两位数暗示.设定的时候浏览器主动加上“19”开头,故使用“x.set[UTC]Year(00)”把年份设定为1900 年.g/set[UTC]Month()返回/设置月份.g/set[UTC]Date()返回/设置日期.g/set[UTC]Day()返回/设置礼拜,0 暗示礼拜天.g/set[UTC]Hours()返回/设置小时数,24小时制.g/set[UTC]Minutes()返回/设置分钟数.g/set[UTC]Seconds()返回/设置秒钟数.g/set[UTC]Milliseconds()返回/设置毫秒数.g/setTime()返回/设置时间,该时间就是日期对象的内部处理方法:从1970 年1 月1 日零时正开始计算到日期对象所指的日期的毫秒数.如果要使某日期对象所指的时间推迟 1 小时,就用:“x.setTime(x.getTime() + 60 * 60 * 1000);”(一小时60 分,一分60 秒,一秒1000 毫秒).getTimezoneOffset()返回日期对象采取的时区与格林威治时间所差的分钟数.在格林威治东方的市区,该值为负,例如:中国时区(GMT+0800)返回“-480”.toString()返回一个字符串,描述日期对象所指的日期.这个字符串的格式类似于:“Fri Jul 21 15:43:46 UTC+0800 2000”.toLocaleString()返回一个字符串,描述日期对象所指的日期,用当地时间暗示格式.如:“2000-07-21 15:43:46”.toGMTString()返回一个字符串,描述日期对象所指的日期,用GMT 格式.toUTCString()返回一个字符串,描述日期对象所指的日期,用UTC 格式.parse()用法:Date.parse(<日期对象>);返回该日期对象的内部表达方式.全局对象全局对象从不现形,它可以说是虚拟出来的,目的在于把全局函数“对象化”.在 Microsoft JScript 说话参考中,它叫做“Global 对象”,但是援用它的方法和属性从来不必“Global.xxx”(况且如许做会出错),而直接用。
DAY01:一、基本特点:1、JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
2、是一种解释性脚本语言(代码不进行预编译)。
3、主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
4、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
5、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
6、avascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。
Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。
而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
二、日常用途:1、嵌入动态文本于HTML页面。
2、对浏览器事件做出响应。
3、读写HTML元素。
4、在数据被提交到服务器之前验证数据。
5、检测访客的浏览器信息。
6、控制cookies,包括创建和修改等。
7、基于技术进行服务器端编程。
DAY02:javascript的放置和注释1.输出工具();("","")如何在html页面当中进行放置A.<script></script>***************************************javascript可以在html页面当中的任何位置来进行调用,但是他们还是一个整体,是相互联系,相互影响。
***************************************B.可以在超链接或是重定向的位置调用javascript代码格式:"javascript:alert('我是超链接')"重定向格式:action="javascript:alert('我是表单')"3.在事件后面进行调用A.格式:onclick="alert('我是事件')"B.<scriptfor="two"event="onclick">alert("我是DIV2");</script>4.调用外部javascript文件格式:<scriptsrc=""></script>******************************************************************* 在调用页面<script>标签对当中不能有任何代码在js脚本中不能出现<script>标签对但是他们还是一个整体,是相互联系,相互影响。
前端,工作计划篇一:Web前端开发工程师养成计划Web前端开发工程师养成计划Web前端开发工程师养成计划(入门篇)最原始的忠告:这个世界上有想法的人很多,但是有想法又能实现它的人太少!首先要感谢伟大的概念、产品概念、用户体验概念、jQuery插件,是它们在中国日渐成熟才解放了一直以来姥姥不疼舅舅不爱的前端开发工程师们。
有没有发现从09年下半年到现在全中国的互联网公司都在招聘前端开发工程师?如果你注意到了,那么恭喜你,你已经拥有那么一点点预测互联网职场动向的能力。
可能令你感到遗憾的是你从没从事过前端开发工作,不过没关系,只要你肯努力,一切都是可以学会的。
学生?设计师?程序员?SEOer?产品经理?项目经理?你是谁不重要,重要的是你想不想认识、了解、学习、精通前端技术。
一:想入门?在入门之前你必须了解一个概念:什么是前端开发工程师?在了解这个概念之前,先来看一下我们所熟悉的互联网大佬们在最近的招聘中对前端开发工程师岗位的要求。
阿里巴巴:1、丰富的前端开发经验,能解决Web项目中各种疑难问题;2、精通各种Web前端技术,了解其适用范围及优劣性;3、深刻理解Web标准,对标签语义、页面结构有深刻的认识,手写XHTML/CSS/JavaScript代码;4、研究过JS框架,喜欢钻研新技术、能够解决各种浏览器兼容性问题。
Google:1、1年以上的前端开发经验;2、了解Web标准,熟练掌握HTML/XHTML、CSS,具备规范的HTML和CSS代码的实现能力;3、熟练掌握JavaScript,对JavaScript的高级特性有深入理解,具备OO方式的JavaScript程序设计和实现能力;4、对页面设计和用户体验有一定了解,具备较好的产品设计能力;5、了解浏览器兼容性问题,熟悉前端开发和调试工具,具有解决实际问题的能力和经验;6、熟悉一种Server端语言并有实际工作经验,比如Python、 PHP、Perl、Java、C等等;7、熟悉Google API(任何产品均可),有实际的开发和使用经验;8、熟悉其他前端开发相关技术或工具,比如ActionScript、Photoshop等等;9、熟悉Web常见产品,有个人博客、网站等;10、主动思考、主动工作。
JavaScript初级基础教程一:语句、执行顺序、词法结构、标识符、关键字、变量、常量、alert语句和console控制台。
JavaScript执行顺序:step 1. 读入第一个代码块。
step 2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5。
step 3. 对var变量和function定义做“预编译处理”(永远不会报错的,因为只解析正确的声明)。
step 4. 执行代码段,有错则报错(比如变量未定义)。
step 5. 如果还有下一个代码段,则读入下一个代码段,重复step2。
step6. 结束。
javascript语法结构:一:字符集1、区分大小写JavaScript是区分大小写的语言所有的标识符(identifier)都必须采取一致的大小写形式但是Html并不区分大小写(尽管Xhtml区分)2、空格、换行符和格式控制符JS会忽略程序中的标识(token)之间的空格。
多数情况下也会忽略换行符除了可以识别普通的空格符(\u0020),JS也可以识别如下这些表示空格的字符*水平制表符(\u0009)*垂直制表符(\u000B)*换页符(\u000C)*不中断空白(\u00A*字节序标记(\ufeff)JS将如下字符识别为行为结束符三:注释//单行/*...*/多行四:直接量直接量(literal):就是程序中直接使用的数据值。
eg:12//数字1.2//小数“hello world” //字符串文本’hi‘ //字符串ture //布尔值false //另一个布尔值/javascript/gi //正则表达式直接量(用做模式匹配)null //空五:标识符和保留字在js中标识符用来对变量和函数进行命名,或者用作Js代码中的某些循环语句中的跳转位置的标记。
JS标识符必须以字母、下划线(_)或美元符($开始)六:类型、值和变量js数据类型分为两类:原始类型(primitive type)和对象类型(object type)。
30本关于相关的经典书籍推荐⼀.⼊门1.《HTML与CSS⼊门经典(第7版) 》HTML⼊门点评:html语⾔的⼊门,由于html极其简单所以同类其他书也可代替,本书并⾮经典,本书摆在这⾥纯属占位!你可以⽤其他书代替。
2.《C#⼊门经典(第3版)》C#⼊门点评:经典中的经典,个⼈认为是30本书⾥最重要的,虽然其他讲C#的好书也很多但⼤多1.0版的,很多在书店已经绝版,被《程序员》等机构评选为2006年最受读者喜爱的⼗⼤IT图书之⼀。
3.《精通SQL--结构化查询语⾔详解》SQL数据⼊门点评:不能说很好,但也不差,感觉吃透全书也可以应付如常SQL语句了。
4.《专家门诊--SQL SERVER开发答疑200问》SQL数据⼊门点评:好书,正好结合上本,可惜的是不是Sqlserver2005。
6.《Programming 中⽂版(第3版)》基础点评:经典中的经典,全球经典,五年三版,权威著作,这本书是最最基础的⼊门书,讲的⾮常全涵盖所有基本⾯,每⼀个控件都细细说明,⾮常易懂,不过本书讲的难免有点杂,初学者看了难免云⾥雾⾥所以要下⼀本书提纲挈领,此书⾮看不可。
7.《 2.0经典教程--C#篇》基础点评:经典,和上⼀本结合起来最好,本书讲⼤的⽅⾯,看了能让⼈明⽩分那⼏个步骤,不过唯⼀的缺陷就是不细,上⼀本正好补充,此书⾮看不可。
9.《JAVASCRIPT 权威指南(第四版)》Javascript基础点评:好书却不经典,这本书也被吹嘘的神乎其神,其实后半部分全部是Javascript语法参考,感觉本书只能做参考书,讲语法还是可以的讲的还算深,内容也很详,不过看懂前半部分后来喜欢它的原因却变后半部分,和下⼀本结合就成更完美的参考书。
10.《WEB开发⼈员参考⼤全:最完整的HTML、CSS与JAVASCRIPT⼯具书》Javascript,html,css基础点评:好书,书如其名,作者是位⽼先⽣,经验很丰富,本书是每⼀位从事BS开发⼈员的必备参考书和上⼀本结合就更好了。
JavaScript 基础知识 - 入门篇(一)最近一直有小伙伴跟我说JS有很多知识点经常不用,已经忘记的差不多了。
平时找一个小问题都要在网上找半天,希望能有一套比较全面的笔记或者文章。
但是网上的文章太过于分散,学习起来不是很方便。
恰巧最近比较闲,所以为大家整理出来了一套比较全面的JS基础阶段的文章,对于初学者还是很有帮助的,如果你是一名熟练掌握JS的攻城狮,你可能会觉得文章写得太过于啰嗦,但是为了照顾大家,啰嗦一点还是有必要的。
由于是自己所写,所以里面有些语言可能表达的有些不明确,不明白的可以给我留言。
1. 初识JS1.1 什么是JS语言javascript是一种运行在客户端的脚本语言客户端:即接受服务的一端,与服务端相对应,在前端开发中,通常客户端指的就是浏览器。
脚本语言:也叫解释型语言,特点是执行一行,解释一行,如果发现报错,代码就停止执行。
1.2 JS的三个组成部分javascript的三个组成部分:ECMAScript、BOM、DOMECMAScript:定义了javascript的语法规范。
BOM:一套操作浏览器功能的API。
DOM:一套操作页面元素的API。
1.3 script 标签1、script标签的书写方式书写Javascript代码有两种方式,第一种是直接在script标签中书写,第二种是将代码写在js文件中,通过script的src属性进行引入。
直接在script中书写javascript代码:!-- type="text-javascript" 可以省略 --script type="text-javascript"alert("今天天气真好呀");通过script标签引入一个JS文件,需要指定src属性:!-- 表示引用了test.js文件,并且script标签内不可以继续写代码--script src="test.js"-script如果script标签指定了src属性,说明是想要引入一个js文件,这个时候不能继续在script标签中写js代码,即便写了,也不会执行。
JavaScript基础知识点1、JavaScript概述1.1、JavaScript是什么?有什么⽤?HTML:就是⽤来写⽹页的。
⼈的⾝体CSS:就是⽤来美化页⾯的。
⼈的⾐服JavaScript:前端⼤脑、灵魂。
⼈的⼤脑、灵魂JavaScript是WEB上最强⼤的脚本语⾔。
脚本语⾔:⽆法独⽴执⾏。
必须嵌⼊到其它语⾔中,结合使⽤。
直接被浏览器解析执⾏。
Java编程语⾔:独⽴写程序、独⽴运⾏。
先编译后执⾏作⽤:控制页⾯特效展⽰。
例如:JS可以对HTML元素进⾏动态控制JS可以对表单项进⾏校验JS可以控制CSS的样式1.2、JavaScript⼊门案例1.3、JavaScript的语⾔特征及编程注意事项特征:JavaScript⽆需编译,直接被浏览器解释并执⾏JavaScript⽆法单独运⾏,必须嵌⼊到HTML代码中运⾏JavaScript的执⾏过程由上到下依次执⾏注意:JavaScript没有访问系统⽂件的权限(安全)由于JavaScript⽆需编译,是由上到下依次解释执⾏,所以在保持可读性的情况下,允许使⽤链式编程JavaScript和java没有任何直接关系1.4、JavaScript的组成JavaScript包括:ECMAScript 、 DOM 、 BOMECMAScript(核⼼):规定了JS的语法和基本对象。
DOM ⽂档对象模型:处理页⾯内容的⽅法标记型⽂档。
HTMLBOM 浏览器对象模型:与浏览器交互的⽅法和接⼝1.4.1、内部脚本在当前页⾯内部写script标签,内部即可书写JavaScript代码格式:<script type="text/javascript"> JavaScript的代码 </script>注:script标签理论上可以书写在HTML⽂件的任意位置1.4.2、外部引⼊在HTML⽂档中,通过<script src="">标签引⼊.js⽂件格式:<script type="text/javascript" src="javascript⽂件路径"></script>⽰例⼀:<script type="text/javascript" src="01demo1.js"></script>注:外部引⽤时script标签内不能有script代码,即使写了也不会执⾏。
JavaScript基础:<script>标记的放置位置:可以放在<head>与</head>之间,也可以放在<body>与</body>之间。
当然它也可以放在其他地方,但是Web标准禁止这样做。
<script>的属性:script脚本的意思,type属性告知浏览器所使用的脚本语言。
浏览器自上而下解析页面,Version 1.x表示版本号为1的所有版本的浏览器,version 1.0+表示版本号为1.0或1.0以上版本的浏览器。
JavaScript中的数据类型与变量:JavaScript是一种弱类型语言。
数据类型:1.数值类型(整数,浮点数),实际上JavaScript 将他们都视为浮点类型;2.字符串类型,也叫文本数据,特殊字符的处理(转义序列或'ABC"D',"ABC'D'"),HTML 的一行代码中连续几个空格被视为一个空格用 表示一个空格;3.布尔类型。
prompt()返回一个字符串。
document对象代表Web页面,document.write()可以向Web 页面中直接写入字符串和HTML标签。
数据转换:对于空串和null,Number返回0,parseInt或parseFloat返回NaN;对于含有非数字字符的串Number直接返回NaN,parseInt或parseFloat返回已经转换的,若第一个就为非数字字符,则直接返回NaN。
数组:长度可变,对于var arr=new Array(6)也一样。
多维数组:var arr=new Array();arr[0]=new Array();实际上JavaScript中支持一维数组,多维数组从一位数组中模拟而来。
判断、循环与函数:if……else……,switch,for,for……in,while,do……while,break,continue判断条件可以这样if(a=10)true;if(a=0)false;除了0和NaN的任何数值将被转换成true;空串(""),null,undefined转换为true。
isNan()判断一个数是否为NaN。
逻辑运算:JavaScript并不做无用功。
JavaScript——基于对象的语言:浏览器自身也被设计为一个对象集合的模型,即浏览器对象模型(BOM)。
Date对象:getTime(),获得从1970年1月1日00:00:00到Date对象所包含时间的毫秒数。
getDate()返回当前日期是月份中的第几天,getDay()返回星期几。
注意:处于安全考虑,Web页面上的Javascript程序不能修改用户计算机上的当前时间和日期。
Math:静态类,不需要构造函数。
向上取整,取整结果比原数据大(-9.9——>-9),向下取整,取整结果比原数据小(-9.9——>-10),四舍五入则只看小数部分。
String对象:lastIndexOf();其查找方式与indexOf()一样,即从待查找字符串的头开始,顺着往后比较,其第二个参数表示待查找的字符串的第一个字符的起始位置。
如:var str="hello p aul,how are you p aul";则,lastIndexOf("paul",23);//23lastIndexOf("paul",22);;//6Number对象:与String对象类似,如:var num=new Number(5);//typeof(num)=objectvar num=new Number(5);num=5;//typeof(num)=number Javascript中的类:javascript中无需事先定义类属性,javascript将根据需要自动创建它。
对于对象属性,也可以随用随加。
创建类:function className(参数){this.a=参数;}属性前必须要有this,否则无效。
在类中通过固有的prototype属性添加方法和属性:{//对与类属性一定要有this}或function functionName(){//可以用this,以便指向本对象};添加后与源数据无关。
浏览器程序设计:浏览器本身也是由很多对象组成。
通常把浏览器为javascript所提供的对象的集合成为浏览器对象模型(BOM),它依赖用户代理(如:浏览器)。
浏览器提供的对象不需要显示创建。
浏览器对象模型层次结构:window对象代表浏览器的框架或者浏览器的窗体以及与浏览器相关的一切,如滚动条,导航按钮等。
Web页面加载在浏览器框架或窗体中。
window对象是一个全局对象,因此,无需写出对象名。
history对象保存了用户所访问过的页面信息。
访问过的页面列表叫做历史栈,通过它,可以使用浏览器的前进与后退按钮。
history对象类似Array对象,有一个length属性,表示历史栈中页面个数。
back(),forward(),go()。
go(-1),go(1)。
location对象包含大量当前页面位置的有用信息:当前页面统一资源定位器(URL,href属性);提供Web服务的服务器信息(hostname属性);连接到服务器的端口号(port属性);所使用的协议信息(protocol属性);导航到另一页面:1.设置href属性;2replace()方法,不同之处,replace方法将从历史栈中删除当前页面。
navigator对象包含运行当前脚本的浏览器和操作系统的大量相关信息。
screen对象包含有关客户端计算机显示能力的信息,如,显示器的宽和高(width和height),显示器颜色色彩位数(colorDepth)。
document对象用于加载在浏览器中页面本身,代表页面本身。
通过它可以访问页面上有HTML标记所定义的各种对象的属性和方法。
Document具有很多与HTML文档相关的属性,这些属性都是数组类型。
document.images数组:页面上所有<img>对象的集合。
document.links数组:页面上所有<a>对象的集合。
JavaScript内置对象没有相关事件,BOM对象有相关事件:事件处理器由关键字on加上要处理的事件名组成,如:onload,onclick等。
当事件发生时,事件处理器将连接到需要执行的事件处理代码。
添加事件方法:1.事件处理器直接在HTM标记中作为属性,如:<a onclick="事件处理代码"> 或<a onclick="事件处理函数"> 或<a onclick="return 事件处理函数">,返回的值将被JavaScript决定是否执行它的默认行为,为true则执行,为false则不执行,若函数没有返回值则当作true;某些对象和事件并不使用事件处理器的返回值,有些时候取消对象的默认行为时true。
有些事件并不是由用户触发,如:load,unload,<body language="javaScript" load=""></body>2.事件处理器作为浏览器对象的属性:如:<script> ;若函数名有返回值true或false则根据情况确定是否执行默认行为。
注意:检查对象的属性和方法是否被浏览器支持。
使用navigator“嗅探”已经不作推荐,主要缺陷就是某些浏览器宣称自己是ie或其他浏览器的一个特定版本,但实际上并不支持某些对象。
浏览器不支持脚本或禁用了脚本支持:<noscript></noscript>中的HTML代码仅在此时使用。
HTML表单——与用户进行交互:客户端脚本编程:使用页面中的信息。
服务器端脚本编程:把信息提交给Web服务器,并将数据保存在数据库。
注意:所有可交互的HTML元素都应放在HTML表单(form)中,否则某些浏览器将不显示这些元素。
对于要提交到Web服务器的数据,则必须放在表单内。
当向Web服务器提交表单时,一次只可以提交一个表单。
访问表单的方法:document.表单名或document的forms 数组属性。
每一个表单控件对应一个对象,可以通过Form对象的elements数组属性来访问,但<input type=image>元素除外。
Form.length与Form对象的submit()方法与Submit按钮类似,不同之处是submit()方法提交表单时不会触发Form的submit事件。
大部分表单元素由<input type="控件类型">创建。
如果要将表单中的信息提交到服务器,表单控件的name属性将与表单元素的值一起发送到服务器。
每个表单控件都有一个form属性,返回包含当前控件的Form对象。
表单元素对象的focus(),blur()方法,对应表单元素的onfocus,onblur事件处理器。
调用blur()方法,焦点将移动到包含该表单的页面。
注意:只有当鼠标指针却是位于当前表单元素上时才会触发mouseon和mousedown,如:在表单元素外按下鼠标移动到表单元素上在松开时并没有触发事件。
Submit和Reset按钮,不需要编写脚本。
Text的事件:onchange(当失去焦点与获得焦点时的值不同时触发),文本的只读属性readonly不支持所有浏览器,可以用焦点事件来代替。
onkeypress(onkeydown,onkeyup),onselect(文本中的字符串部分或全部被选中时)密码框(password);隐藏域(hidden)不可见但占据空间,作用:在提交之前保存信息(多个页面之间)。
文本域(textarea):不用<input>直接添加<textarea></textarea>其值不能用value,直接在<textarea></textarea>其中添加。
Textarea的wrap属性用于在输入到一行结束时如何处理:wrap=soft或hard或on自动换行,wrap=off不自动换行。
soft自动转换标记不提交到服务器,hard则提交。
在<textarea>不能使用value,但其对象可以使用value。
单选框(radio)与复选框(checkbox):关键字checked表示被选中,如:<input type="radio" checked />,他们的value 值并不是后面的提示。