JS第一章笔记

**一、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 的周期性执行的值。        **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值