Javascript学习第一季(试读版).doc_第1页
Javascript学习第一季(试读版).doc_第2页
Javascript学习第一季(试读版).doc_第3页
Javascript学习第一季(试读版).doc_第4页
Javascript学习第一季(试读版).doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

Javascript学习第一季(1)1 , javascript字符集:javascript采用的是Unicode字符集编码。为什么要采用这个编码呢?原因很简单,16位的Unicode编码可以表示地球人的任何书面语言。这是语言 国际化的一个重要特征。Javascript中每个字符都是用2个字节表示的。(因为是16位编码)2 ,大小写敏感:js是一种区分大小写的语言。注意下:以前我也犯过的错误。HTML是不区分大小写的。经常看见有人这么写, (这样写是对的)如果放到JS中,就必须使用onclick(小写哦!)同时XHTML中也只能使用小写。这个我们并不需要太关心,象这种问题,其实都可以自己给自己定一个标准,自己写程序的时候全部小写。另外每行程序后分号也是一样,我们都写上。3 ,注释:/ 注释1/* 注释2 */ /* 注释3* 注释3* 注释3*/4 ,标识符:标识符就是一个名字,用来命名变量和函数。规则:第一个字母必须是字母,下划线(_),或美圆符号($)。为什么第一个字母不能为数字?如果第一个为数字,js很容易就把它当作数字处理了,那么命名就没意义了,js规定了后,就很容易的区分了标识符和数字了。5 ,直接量:就是程序中直接显示出来的数据值。比如:12 , 1.2 , “ hello “ , true , null , 1,2,3,4 这些都是直接量。6 ,保留字和关键字:具体是哪些,可以去。其实我们只要不取一些特郁闷的名字,都不会冲突的。7 ,js数据类型:3种基本的类型;数字,字符串和布尔值。2种小数据类型:null 和 undefined . (为什么叫小数据类型?因为他们只定义了一个值)1种复合类型:object. (在这个类型中,它的值可以是基本数据类型,也可以是复合类型,比如其他的object. ) 注意:在对象中有一个特殊的对象-function.(它是一个可以执行代码的对象.)其他的一些对象:数组。Date类 : 是日期的对象。RegExp类: 正则表达式的对象。Error 类:js中发生错误的对象。8 ,使用数据类型注意的地方:1):数字:由于数字有什么8进制,10进制,16进制等。八进制:var num = 011; /以0开头十六进制:var num =0x1f; /以0x开头所以对于js这个都能识别的语言来说,就必须得注意。alert(377); / 377alert(0377); /255 = 3 * 64 + 7 * 8 + 7 * 1进行算术运算有个重要的对象:Math.具体可以下载手册,查询里面的方法。2个有用的函数:isNaN()和isFinite()isNaN() : 用于检查其参数是否是非数字值。/ 提示:是非数字哦。document.write(isNaN(0) ) /返回falsedocument.write(isNaN(5-2) ) /返回falsedocument.write(isNaN (Hello) ) /返回trueisFinite(number) 函数用于检查其参数是否是无穷大。如果number是有限的,则返回true. 如果 number 是 NaN(非数字)或者是无穷大,则返回false;2):字符:youre right;这样写的话js会误以为 在you字母后就结束了,引起错误。所以当遇到这种情况的时候,必须用到转义。我们可以这么写:youre right;另外:你可以 搜索 转义序列表 。字符串的简单操作例子:var a = cssrain;var b = a.charAt(a.length-1); / 从字符串a中截取最后一个字符。 输出:nvar c = a.substring(0 , 2); / 从字符串a中截取第1,2个字符。 输出:csvar d = a.indexOf(s); / 从字符串a中查找第一个s出现的位置。 输出:1 从例子可以看出,基数都是从0开始的。var e = a.substring( a.length-1 ); /可以看出,substring第2个参数不写的话,是到最后。var f = a.substring( a.length-1 , a.length);3):数字跟字符之间的转换:数字转字符:var number_to_string = number + “ ”; /方法1:添加一个空的字符串。var number_to_string =String(number); /方法2:使用String()函数。var number_to_string =number. toString(); /方法3:使用toString()函数。注:toString()方法默认是以10进制转换。如果要使用8进制转换可以 这么写: number. toString(8);字符转数字:var string_to_number = string 0 ; /方法1: 字符串减去0。var string_to_number = Number(string) ; /方法2:使用Number ()函数。var string_to_number = parseInt(string) ; /方法3:使用parseInt ()函数。方法1中不能 用string+0 ; 这样会导致字符串拼接,而不是类型转换。方法2 中的Number函数转换,比较严格。比如:var a = 19cssrain86;var b = Number(a); /输出NaN.如果我们使用方法3。var c = parseInt(a); /输出 19可以看出parseInt()会自动忽略非数字的部分。parseInt()只取整数部分,忽略小数部分。parseFloat()会把小数部分也取到。和toString()一样,parseInt也有进制,默认是10进制。如果想使用8进制,可以这么写: parseInt( “077” , 8 ); / 输出63 = 7 * 8 + 7当字符以0开头的时候,我们必须把基数指明,不然js可能会以8进制去转换。 4):布尔类型:布尔在数字环境中:true 转换为 1 ,false 转换为 0 。在字符环境中:true 转换为 “true” ,false 转换为 “false” 。布尔转换:var x_to_Boolean = Boolean(x); /方法1:使用Boolean ()函数。var x_to_Boolean = !x; /方法2:使用 感叹号。5):函数的定义:方法1:普通定义function square(x) return x*x;方法2:函数直接量定义var square = function(x) return x*x; /推荐使用方法3:构造参数var square = new Function(“x”,”return x*x;”); /效率低6):对象:如果有一个名为 cssrain 的对象 , 他有一个高度height的属性。那么我们可以这么引用:cssrain.height;还可以使用关联数组定义:cssrain“height”;创建对象:方法1:var point = new Object();point.x = 3;point.y = 5;方法2:使用对象直接量var point = x:3 , y:5 对象在字符的环境下,会调用toString()方法。数字环境下,会调用valueOf()方法。布尔环境下,非空对象为true;7):数组:常规数组:以非负整数做为下标。image0关联数组:以字符做为下标。如:image“width”js不支持多维数组,但数组里面可以嵌套数组。创建数组:方法1:var a = new Array();a0 = “1”;a1 = 2;a2 = x:1, y:3;方法2: var a = new Array(“1” , 2 , x:1,y:3 );注:如果只传了一个参数;比如var a = new Array(3);那么它是表示:3个未定义元素的新数组。方法3:使用数组直接量var a =“1” , 2 , x:1 , y :3 ;8):null和undefined:null表示无值;undefined : 使用一个并未声明的变量,或者使用了已经声明的变量但未赋值或者使用了一个并不存在的属性。undefined=null如果要区分:可以使用= 或者typeof运算符。具体问题可以google.9 ,新手常遇到的疑惑:var s =”you are right”;var b = s.substring(s.lastIndexOf(“ ”)-1 , s.length);疑惑:s是对象还是字符串,为什么字符串会有方法呢?回答:s是字符串。之所以有方法 ,是因为 string类型 有一个相应的对象类(String)。同样数字和布尔都有相应的Number , Boolean类。Js会内部进行相应的包装对象。String对象就替换了原始的字符串。10,对象跟基本类型之间的转换:不管何时,只是对象非空,在布尔环境中都为true.如;new Boolean(false); new Number(0);new String(“”);new Array();上面虽然内部值是false,但对象的值是true;Object valueOf() toString()其中Date类,是先执行toString()转换。11,js中操作一个数据值:任何语言都有自己的操作数据的方法;Js也不例外,js有3种重要的方式来操作一个数据值。1) 复制它。例如把它赋给一个新的变量。2) 把它作为参数传递给一个函数或方法。3) 可以和其他值比较大小。Js通过传值和传址2种方式操作这些数据的值。从名称可以看处,传值 是通过传递值来操作数据。在赋值的过程中,对实际的值进行了拷贝,存储到一个新的变量中。拷贝的值和原来的值是2份完全独立的值。所以如果你改变了拷贝的值,并不会影响原来的值。当比较大小时候,通常进行琢个字节比较。传址 从名字来看,就是通过传递地址来操作数据。在赋值的过程中,对实际的值的地址(可以说是引用)进行了拷贝,他们不是完全的独立,所以如果你通过引用改变了值,那么原始的值也会改变。当比较大小的时候,通常是看他们是否引用同一个地址来比较。简单的传址例子:var a = new Date();alert(a.getDate();var b = a ;b.setDate(21);alert(a.getDate() / 输出21 12,一般来说:基本数据类型通过传值来操作的。(如果忘记了哪些是基本数据类型,可以往回看。)对象数据类型通过传址来操作的。(比如 数组和函数)例子:/传值a=1;b=a;b=2;alert(a); /输出 1/传址x=1,2;y=x; / 赋给y的只是x的一个引用,而不是x本身。数组已经在语句中被赋值了,执行过这段代码后,仍旧只有一个数组对象,只不过我们有2个对他的引用了。y0=2;alert(x0 + | +x1); /输出 2 | 2其中我们必须注意字符串:js中字符串是通过传址来复制和传递的,而他们是通过传值来比较的。对象和数组是用传值来传递的,只不过传递的这个值实际是一个引用,而不是对象本身。总结:类型复制传递比较数字传值传值传值布尔传值传值传值字符串不可变不可变传值对象传址传址传址不

温馨提示

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

评论

0/150

提交评论