JavaScript笔记

来源:互联网 发布:传奇网络加速器免费版 编辑:程序博客网 时间:2024/06/18 05:37

马士兵_Javascript_学习笔记_尚学堂_个人整理

 

先推荐一个学习网站建设的网站,我在学习的过程中受益颇多,不是广告,这网站确实好用:

         www.w3school.com.cn

 

以前以为Javascript是Java的一个分支,结果不是,因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。。这是两门不同的语言。JavaScript是一种直译式脚本语言。

其实学习这些前端知识不需要死记硬背,只要掌握基本知识,学会照猫画虎(截取网页并尝试模仿),多加练习就行了。

 

 

一、JavaScript和Java的区别

 

         基于对象和面向对象

         解释和编译

         强变量和弱变量

                   JavaScript中变量声明,采用其弱类型。

                   即变量在使用前不需作声明,而是解释器在运行时检查其数据类型

                            x=1234;                        //数值型变量

                            y=“4321”;                  //字符型变量

         代码格式不一样

         嵌入方式不一样

 

二、JavaScript

 

         JavaScript是一种描述式语言,它与HTML结合起来,用于增强功能,并提高与最终用于之间的交互性能

         由Netscape公司利用Sun的Java开发

         它是与Java完全不同的一种语言。虽然在结构和语法上与Java类似,但是,它只是函数式的语言。

         客户端的JavaScript必须要有浏览器的支持

         JavaScript(ECMAScript)

                   基础语法

                   DOM

                            DocumentObject Model

                   BOM

                            BrowerObject Model

                   JavaScript/jscript/ ECMAScript

                            avaScript是由Netscape公司开发 .它的前身是LiveScript

                            Microsoft发行jscript用于internetexplorer

                            最初的jscript和javascript差异过大,web程序员不得不痛苦的为两种浏览器编写两种脚本。于是诞生了ECMAScript,是一种国际标准化的javascript版本。现在的主流浏览器都支持这种版本。

 

 

三、 ECMAScript

 

         ECMAScript并不与任何具体浏览器相绑定

         一个完整的JavaScript实现是由以下3个不同部分组成的:

                   核心(ECMAScript)

                   文档对象模型(DOM);

                   浏览器对象模型(BOM)。

                   检查错误:IE-Internet-高级-禁用脚本调试-显示每个脚本错误通知

 

 

四、在网页中加入JavaScript

 

         通过在网页中加入<Script>…</Script>标记JavaScript的开始和结束,将JavaScript代码放到<Script>…</Script>之间

 

         也可以引入一个外部的JavaScript文件,这个JavaScript文件一般以.js作为扩展名

 

         原则上,放在<head></head>之间。但视情况可以放在网页的任何部分

 

         一个页面可以有几个<Script>…</Script,不同部分的方法和变量,可以共享。

 

 

五、JavaScript的数据类型

 

         Theprimary (primitive) data types are:

                   String

                   Number

                   Boolean

         Thecomposite (reference) data types are:

                   Object

                   Array

         Thespecial data types are:

                   Null

                   Undefined(var a;)

 

 

六、控制字符

 

         JavaScript中有些以反斜杠(\)开头的不可显示的特殊字符。通常称为控制字符。

         \b:表示退格符。

         \f:表示换页。

         \n:表示换行符。

         \r:表示回车符。

         \t:表示Tab符号。

         \':表示单引号本身。

         \":表示双引号本身。

 

 

七、JavaScript基本语法

 

         变量

                   JavaScript是一门弱类型的语言,所有的变量定义均以var来实现

                   JavaScript的变量建议先定义,再使用

                   JavaScript区分大小写

                   虽然JavaScript可以不需定义即可直接使用变量,但不建议这么做

         数组定义

                   vararr = new Array(3);

                   通过arr.length取得数组的长度

 

         注释的写法和java的一样

 

 

八、数组

 

         使用方式:

                   myarray=newArray(num)

                   myarray=newArray(value1,value2…)

                            <Scriptlanguage="JavaScript">

                                     aa= new Array(3);

                                     aa[20]= 444;

                                     document.write(aa[20]);

                            </Script>

                   num不设定,则按数组默认的最大长度自动设定。例如:

                            <Scriptlanguage="JavaScript">

                                     aa= new Array();

                                     aa[20]= 444;

                                     document.write(aa.length);

                            </Script>

 

九、JavaScript基本语法—运算符

 

         算术运算

                   +、-、*、/

                   >、<、=、>=、<=、==

         逻辑运算

                   与:&&

                   或:||

                   非:!

         字符串运算符

                   连接运算:+

                   取子集:substring(index1,index2)

         条件表达式

                   条件?A:B

 

 

十、JavaScript基本语法—substring 方法

 

         返回位于String对象中指定位置的子字符串。

                   strVariable.substring(start,end)

                   "StringLiteral".substring(start,end)

         参数

                   start

                            指明子字符串的起始位置,该索引从 0 开始起算。

                   end

                            指明子字符串的结束位置,该索引从 0 开始起算。

         说明

                   substring方法将返回一个包含从start到最后(不包含end)的子字符串的字符串。

                   substring方法使用start和end两者中的较小值作为子字符串的起始点。例如,strvar.substring(0, 3)和strvar.substring(3, 0)将返回相同的子字符串。

                   如果start或end为NaN或者负数,那么将其替换为0。

                   子字符串的长度等于start和end之差的绝对值。例如,在strvar.substring(0,3)和strvar.substring(3, 0)返回的子字符串的的长度是 3。

 

十一、JavaScript基本语法—控制语句

 

         if语句

                   if(条件) else if(条件1) else…

         while语句

                   while(条件)…

         switch语句

                   switch(i)  case i1:… casei2:… default:…

         for

         do…while

         while

 

十二、JavaScript基本语法—JavaScript内置类型

 

         typeof返回值有六种可能: "number," "string," "boolean,""object," "function," 和"undefined."

 

         typeof操作符

         typeof运算符返回一个用来表示表达式的数据类型的字符串。

 

         我们知道,javascript是一种弱类型的语言,这意味着我们不必显式定义变量的数据类型。事实上,我们无法在 javascript 上明确地定义数据类型。而只能通过var语句显示声明变量:var myvar;或这样隐式声明变量:myvar=myvarValue(省略var,在声明的同时初始化)。

         javascript有三种基本数据类型(字符串、数值、布尔 ),两种引用数据类型(对象、数组)和两种特殊数据类型(Null 、Undefined )。对于基本数据类型和引用数据类型我们很好理解。对于特殊数据类型Null和Undefined,常常会引起我们的一些疑惑。

         在 Javascript 中数据类型 Null 只有一个值:null。如果一个变量的值为null,那么表示该变量没有保存有效的数、字符串、Boolean、数组或对象,null与vbscript中Empty的概念不相同(Empty指未初始化的变量值)。因此,我们可以通过给一个变量赋 null 值来清除变量的内容。

 

         如果已声明了一个变量但还没有初始化,那么该变量的值就是 undefined。这与vbscript中Empty的概念是相同的。

         如下情况使返回undefined 值:

                   1、对象属性不存在;

                   2、声明了变量但从未赋值。

 

         注意:很多人常犯的一个错误是:当他定义一个变量的时候未初始化,想当然地认为该变量的默认值为数字0或字符串""。

 

 

十三、JavaScript基本语法—字符串对象

 

         属性:length

         方法:

                   字体控制:

                                big() blink() bold()fixed()将字体设定为固定宽度字体

                         fontcolor(color)  fontsize(size) Italics() 斜体small()

                         anchor() 产生一个链接点(anchor)以作超级链接用。anchor函数设定的链接点的名称,另一个函数link设定的URL地址。

                   字符串:

                                toLowerCase()toUpperCase() indexOf(char,fromIndex) substring(start,end

 

 

十四、JavaScript基本语法—substring、indexOf

 

         substring(start,end)

               返回字符串的子字符串

   

         indexOf[charactor,fromIndex]

               字符搜索

 

 

十五、JavaScript基本语法—Math对象

 

         常用方法:

                   abs()  绝对值

                   sin(), cos()  正弦余弦值

                   asin(),  acos() 反正弦反余弦

                   tan(), atan()  正切反正切

                   round()  四舍五入

                   sqrt()  平方根

                   pow(x,y)  x的y次方

 

十六、JavaScript基本语法—Date对象

         创建方式:

                   myDate= new Date();

         日期起始值:1970年1月1日00:00:00

         主要方法

                   getYear():返回年数          setYear(): 设置年数

                   getMonth():返回月数       setMonth():设置月数

                   getDate():  返回日数         setDate():设置日数

                   getDay():返回星期几       setDay():设置星期数

                   getHours():返回小时数     setHours():设置小时数

                   getMinutes():返回分钟数  setMintes():设置分钟数

                   getSeconds():返回秒数      setSeconds():设置秒数

                   getTime(): 返回毫秒数     setTime() :设置毫秒数

 

 

十七、JavaScript基本语法—函数

 

         函数的使用

                   利用function来定义一个函数

                   传入参数

                   传出值

 

 

十八、JavaScript事件处理

 

         onFocus:在用户为了输入而选择select、text、textarea等时

         onBlur:在select、text、password、textarea失去焦点时

         onChange:在select、text、textarea的值被改变且失去焦点时

         onClick:在一个对象被鼠标点中时(button,checkbox,radio,link,reset,submit,text,textarea等)

         onLoad:出现在一个文档完成对一个窗口的载入时

         onUnload:当用户退出一个文档时

         onMouseOver:鼠标被移动到一个对象上时

         onMouseOut:鼠标从一个对象上移开时

         onSelect:当form对象中的内容被选中时

         onSubmit:出现在用户通过提交按钮提交一个表单时

 

 

十九、JavaScript的对话框

 

         警告框(alert):出现一个提示信息

         询问框(prompt):返回输入的值(很少用)

         确认框(confirm):根据不同的选择,返回true/false

 

 

二十、使用eval

 

         eval()函数可计算某个字符串,并可执行其中的的 JavaScript 代码。

         不使用eval

                   alert("3"+"2");

                   --〉32

         使用eval的上下文环境

                   alert(eval("3") + eval("2"));

                   --〉5

                   eval()函数可以把一个字符串当作一个JavaScript表达式一样去执行它

         该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

 

 

二十一、javascript hijacking

 

         函数劫持

         通过替换js函数的实现来达到劫持这个函数调用的目的

        

         本来类似Java的对原函数的重写。但还有其他功能,这个就有点厉害了,貌似和网络安全关系挺大。

 

 

 

二十二、this指的是当前的对象

 

 

         函数调用时使用this

         自定义对象,随时可以增加属性,方法

         定义类

 

 

二十三、对象

 

         for…in

                   In后跟一个对象,对此对象中的所有元素循环一次

         with

                   为一段代码建立一个缺省的对象,任何无对象的属性引用,都将使用该缺省的对象

         new

                   用于生成一个新的对象

 

 

二十四、JavaScript 错误 - Throw、Try 和 Catch

        

         try语句测试代码块的错误。

         catch语句处理错误。

         throw语句创建自定义错误。

 

         错误一定会发生

                   当 JavaScript 引擎执行JavaScript 代码时,会发生各种错误:

                   可能是语法错误,通常是程序员造成的编码错误或错别字。

                   可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。

                   可能是由于来自服务器或用户的错误输出而导致的错误。

                   当然,也可能是由于许多其他不可预知的因素。

 

         JavaScript抛出错误

                   当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。

                   描述这种情况的技术术语是:JavaScript将抛出一个错误。

 

         JavaScript测试和捕捉

                   try语句允许我们定义在执行时进行错误测试的代码块。

                   catch语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

                   JavaScript语句 try 和 catch 是成对出现的。

         语法

                   try

                  {

                //在这里运行代码

                  }

                   catch(err)

                {

                //在这里处理错误

                  }

 

 

二十五、setTimeout、setInterval

 

         定义和用法

                   setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。

                   setInterval()方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

                   setInterval()方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

         语法

                   setTimeout(code,millisec)

                   setInterval(code,millisec[,"lang"])

         参数

                   setTimeout

                            code          必需。要调用的函数后要执行的JavaScript 代码串。

                            millisec     必需。在执行代码前需等待的毫秒数。

                   setInterval

                            code          必需。要调用的函数或要执行的代码串。

                            millisec     必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。

         提示和注释

                   提示:setTimeout()只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

         返回值

                   setInterval

                            一个可以传递给Window.clearInterval() 从而取消对 code 的周期性执行的值。        

 

 

 

 

 

 

 

 

                  

 

        

        

 

 

 

 

 

 

 

 


2 0
原创粉丝点击