javascript基础
来源:互联网 发布:msdb系统数据库 编辑:程序博客网 时间:2024/05/17 01:44
<script type="text/javascript">var accumulator={add:function(a,b) {return a+b; },mius:function(a,b) { return a-b; } };alert(accumulator.add(3,4));</script>将会弹出7。
Object对象
hasOwnProperty(property):判断该对象是否有某个特定的属性。
isPropertypeOf(property):判断该对象是否是另外一个对象的原型。
toString():返回对象的原始字符串显示。
valueOf():返回最适合该对象的原始值。
toFixed(val):返回具有指定位数val的数字字符串。
String截取子字符串:slice()和substring()
当传入的参数都为整数的时候。两个方法的返回值相同,而当参数中含有负数的时候,slice()会用字符串的长度加上参数,而substring()则会将负数作为0处理,并且总是将较小位做起始位,较大位做末尾。
var str="hello";alert(str.slice(-3)); //将弹出"llo"alert(str.substring(-3)); //将弹出hello
delet将会删除对以前定义的对象属性或方法的调用。
var person=new Object();person.name="xuzengqiang";alert(person.name);delete person.name;alert(person.name); //将会弹出undefined
对象的创建,原型方式:
function Person(name,age){this.name=name;this.age=age;}Person.prototype.showPerson=function(){alert(this.name+"----"+this.age);}var person1=new Person("xuzengqiang","22");if(person1 instanceof Person){person1.showPerson();}
扩展多个方法可以这样写:
function Person(name,age){this.name=name;this.age=age;}Person.prototype={showPerson:function(){alert(this.name+"----"+this.age);},test:function(){if(this.age>=18 && this.age<=30){alert("你是成年人了!");} else {alert("你还不是成年人!");}}}var person1=new Person("xuzengqiang","22");if(person1 instanceof Person){person1.showPerson();person1.test();}
编写StringBuffer,与String本身字符串拼接做性能测试。
function StringBuffer(){this._string=new Array();};StringBuffer.prototype={append:function(str){this._string.push(str);},toString:function(){return this._string.join("");}};var buffer=new StringBuffer();//性能测试var startTime=new Date();for(var i=0;i<100000;i++){buffer.append("test");}var endTime=new Date();alert("StringBuffer用时:"+(endTime.getTime()-startTime.getTime())+"ms");var str=new String();startTime=new Date();for(var i=0;i<100000;i++){str+="test";}endTime=new Date();alert("String用时:"+(endTime.getTime()-startTime.getTime())+"ms");在不考虑其它环境的影响下,StringBuffer相比String进行字符串拼接效率要高。
继承
方式一:对象冒充。构造函数使用this关键字给所有属性和方法赋值。
function Person(name){this.name=name;this.say=function(){alert(this.name);}}function Man(name){this.newPerson=Person;this.newPerson(name);delete this.newPerson;}var man=new Man("xuzengqiang");man.say();
对象冒充可以实现多重继承。
方式二:利用apply()和call()方法。
call(arg1,arg2,[arg3.....]);第一个参数是作用this对象,其它参数都是直接传递给参数本身。
function Person(name){this.name=name;this.say=function(){alert(this.name);}}function Man(name){Person.call(this,name);}var man=new Man("xuzengqiang");man.say();
apply(arg1,arg2):第一个参数用作this对象,第二个参数是传递给函数的参数数组。
function Person(name){this.name=name;this.say=function(){alert(this.name);}}function Man(name){Person.apply(this,new Array(name));}var man=new Man("xuzengqiang");man.say();
方式三:原型链方式,直接将一个对象的实例赋给子类的原型。但是要确保构造函数中没有任何参数,才是原型链的标准方法。
function Person(){}Person.prototype.name="xuzengqiang";Person.prototype.say=function(){alert(this.name);}function Man(){}Man.prototype=new Person();var man=new Man();man.name="wuyue";man.say();
方式四:混合方式:原型链+apply()/call()方法
function Person(name){this.name=name;}Person.prototype.say=function(){alert(this.name);}function Man(name,age){Person.call(this,name);}Man.prototype=new Person();Man.prototype.show=function(){alert(this.age);}var man=new Man("xuzengqiang","22");man.say();
事件处理event,event必须作为唯一参数传递给事件处理函数。
IE和其他浏览器相同的事件。
1、获取事件类型.event.type(将返回如"click","mouseover"等类型的字符串)。
2、获取按键值:event.keyCode。
3、检测是否按下alt,shift,ctrl键(event.ctrlKey,event.shiftKey,event.altKey)。
4、获取客户端坐标,可以用clientX和clientY获取鼠标指针在客户端的位置。
- javaScript基础
- JAVASCRIPT 基础
- JavaScript基础
- JAVASCRIPT基础
- JavaScript 基础
- javascript基础
- javascript基础
- JavaScript 基础
- JavaScript基础
- javascript基础
- JavaScript基础
- javascript基础
- javascript基础
- Javascript基础
- JavaScript基础
- JavaScript基础
- javascript基础
- javascript基础
- Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)
- 第三章、SpringMVC学习-DispatcherServlet详解
- DevExpress GridControl使用方法总结
- Unicode与UTF-8互转(C语言实现)
- 为什么用dedecms可以仿站
- javascript基础
- 结构和sort进一步的了解
- CloudFoundry warden 创建container 源码研究
- IplImage*图像结构指针转换成byte *
- 通过java post上传file文件
- 被逼出来的成熟,让人如此心疼
- C++中很有价值的函数
- SSH web.xml 解析
- android中一些属性设置