JS知识点摘记(一)

JavaScript:基于对象和事件的脚本语言

特点:

安全性:不允许直接访问本地硬盘,可做的就是信息的动态交互

跨平台性:只要可以解析JS的浏览器就可执行,与平台无关

JavaScript与Java的不同:

1、js是NetScape的产品,Java是SUN的产品

2、js是基于对象的,Java是面向对象的

3、js只需解释就可执行,Java需要先编译成字节码文件后再执行

4、js是弱类型语言,Java是强类型的

5、js是非严谨的,Java是严谨的

JavaScript与HTML代码的结合方式:任何代码要融入HTML代码中都是通过标签形式

1、将js代码存放在标签对<script></script>中,规范要求加type属性,以前是language属性

       <script type=”text/javascript”> js代码 </script>

2、将js代码封装成js文件,提高复用性

       <script type=”text/javascript” src=”1.js”></script>

变量通过关键字var定义,弱类型语言不需要指定具体数据类型

特殊常量:undefined  变量没有初始化时值就是它

数组:var arr = [1, 2, ‘abc’, 3.53]       数组长度是可变的,没有越界问题,其他值为undefined

              var arr = new Array()           数组内可存放任意类型元素,推荐元素类型一致

              var arr = [[1, 0, 3], [true, ‘abc’]]; 二维数组

       js中的数组就相当于Java中的集合

函数:function 函数名(参数列表){js代码}

       JavaScript函数没有重载形式,参数可随意传递,函数内部默认有一个arguments数组用来接收传入的参数,参数个数尽量保持一致

       alert(函数名)可将函数内容打印出来,包括注释

动态函数:var fun = new Function(“x”, “y”, “var sum=x+y; return sum;”);   var a = fun(3,2);

                     函数的参数和函数体都可以通过字符串变量来动态修改

匿名函数:同Java,多用于事件处理

可以通过函数形式来模拟Java,创建对象

 

function Person()

{

       alert(“person init”);

}

var p = new Person();

上面会调用Person的方法

可以给p添加属性和方法

p.name = “张三”

p.age = 30;

p.eat = function(){}

引用name属性可用

p.name 或p[“name”]

 

也可像Java一样使用this来完成对象构造

 

 

简化操作的with语句和for…in语句

with用于确定对象的作用范围

with(对象){可直接调用对象的属性和方法,不用加对象名}

for…in语句用于遍历对象或数组

for((变量)s  in (学生对象)stu){alert(s)}此处打印出stu的属性,要获得属性值用stu[s]

for(x in array) alert(x)打印的是数组角标

 

JavaScript的内部对象:Object、String、Array、Math……

String:长度为length属性,不是方法

       方法有:toUpperCase()        toLowerCase()              CharAt()        indexOf()              lastIndexOf()

                     split()      replace()         substring(start, end)              substr(start, length)

math()正则表达式匹配        bold()给字符串两边加上<b></b>标签

fontColor()     fontSize()              sub()       sup()       link(“URL”)都是加标签的

Math:random()产生0~1之间的伪随机数,含0不含1,可能为0,但总小于1,为小数

       怎么产生1—10之间的整数呢?random()*10+1需要转换成整数,使用Global对象方法

Global:封装一些不属于具体某个对象的单独存在的全局方法,可不用对象名直接调用

       parseFloat()           parseInt()                     radix 基数

       parseInt(numString, [radix])  radix指定numString的进制形式,2~36

                     默认0x开头位16进制,0开头为八进制,其他为十进制

       如果numString前缀不能转为数字,则返回NaN(Not a number)可用isNaN()检测

       parseInt(“aaa”)       NaN               parseInt(“33abe”)   33

       提示:转换前先用正则匹配,是数字再转换

反向转换用toString方法

       toString([radix])

      

Data:日期时间对象

var d = new Data();

              with(d)   

{

var month = getMonth()+1;       月份从0开始

                     month = month>9?month:”0”+month;  月份用两位数  日也可这样做

                     alert(getYear()+”年”+month+”月”+getData()+”日,星期”+getDay());

}

 

prototype属性:获取对象原型,可以给源对象添加自定义功能或属性

function getMax()

{

       var max = this[0];

       for (var x=1; x<this.length; x++)

       {

       if (max<this[x])

              max = this[x];

}

return max;

}

Array.prototype.getMax = getMax;       给Array对象添加getMax方法,可直接调用

posted on 2013-07-18 20:19  我竟然比我还帅  阅读(157)  评论(0编辑  收藏  举报

导航