JavaScript中常用的运算符及其使用方法
JavaScript中常用的运算符及其使用方法如下:
类型
-(负值),例如:-5。
*(乘法),例如:2*4,得8。
/(除法),例如:10/2,得5。
%(取余),例如:9%2,余数为1。
+(加法),例如:1+2,得3。
-(减法),例如:9-8,得1。
算术运算符
|(按位或运算),例如:5|3,得7。
<<;(左移),例如:5<<3,得40。
>>;(右移),例如:5>>1,得2。
~(取补),例如:~5 ,得6。
++(递加),例如: a=5,a++,得a=6。
--(递减),例如: a=5,a--,得a=4。
字符运算符
+(字符串连接),例如:“a”+“b”,得ab。
==(等于),例如:1==2,为Flase。
!=(不等于),例如:3!=4,为True。
比较运算符
<;(小于),例如:7<6,为Flase。
>;(大于),例如:10>9,为True。
<;=(小于等于),例如:6<=9,为True。
>;=(大于等于),例如:3>=6,为Flase。
逻辑算符
!(逻辑非),例如:!Flase,为True。
&(逻辑与),例如:Flase&True,为Flase。
||(逻辑或),例如:Flase||True,为True。
^(逻辑异或),例如:Flase^True,为True。
document的方法如下:(摘自javascript宝典-16章document对象和body元素对象)
attachEvent();
captureEvent();
clear();
clearAttributes();
close();
createAttribute();
createComment();
();
createElement();
createEvent();
createEventObject();
createRange();
createStyleSheet();
createTextNode();
createTreeWalker();
detachEvent();
elementFrommPoint();
execCommand();
focus();
getElementById();
getElementsByName();
getElementsByTagName();
getSelection();
handleEvent();
hasFocus();
mergeAttributes();
open();
queryCommandEnabled();
queryCommandIndterm();
queryCommandState();
queryCommandSupported();
queryCommandText();
queryCommandValue();
recalc();
releaseCapture();
releaseEvents();
routeEvent();
setActive();
write();
writeln();
1.indexOf //返回某个指定的字符串值在字符串中首次出现的位置。
example:var str = 'abcdef'; alert(str.indexOf('b')) //输出为12.lastIndexOf //返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。example:var str="aaabbbcccaaaddd"; alert(str.lastIndexOf('aaa')); //输出为93.every //没用过,知道的请告诉我一下4.filter //JQuery的方法 将匹配元素集合缩减为匹配指定选择器的元素。
example:$('li').filter(':even').css('background-color', 'red'); //给偶数Li加背景色5.foreach //php等后台语言常用foreach, js常用for循环,JQuery常用each6.map //jquery方法 将一组元素转换成其他数组(不论是否是元素数组)example://把form中的每个input元素的值建立一个列表。$("p").append( $("input").map(function(){ return $(this).val();}).get().join(", ") );//得到:[ John, password, pilenbsp;把正则表达式编译为内部格式,从而执行得更快nbsp;concatnbsp;返回一个新数组,这个新数组是由两个或更多数组组合而成的nbsp;concat(String)nbsp;返回字符串值,该值包含了两个或更多个提供的字符串的连接nbsp;cosnbsp;返回数的余弦值nbsp;dnbsp;nbsp;nbsp;decodeURInbsp;返回一个已编码的统一资源标识符nbsp;(URI)nbsp;的非编码形式nbsp;;返回统一资源标识符nbsp;(URI)nbsp;的一个已编码组件的非编码形式nbsp;dimensionsnbsp;返回nbsp;VBArraynbsp;的维数nbsp;enbsp;nbsp;nbsp;encodeURInbsp;将文本字符串编码为一个有效的统一资源标识符nbsp;(URI)nbsp;;将文本字符串编码为一个统一资源标识符nbsp;(URI)nbsp;的一个有效组件nbsp;escapenbsp;对nbsp;Stringnbsp;对象编码以便它们能在所有计算机上可读nbsp;evalnbsp;检查nbsp;JScriptnbsp;代码并执行nbsp;execnbsp;用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组nbsp;expnbsp;返回nbsp;e(自然对数的底)的幂nbsp;fnbsp;nbsp;nbsp;fixednbsp;把HTMLamp;lt;TTamp;gt;标记放置在nbsp;Stringnbsp;对象中的文本两端nbsp;nbsp;floornbsp;返回小于等于其数值参数的最大整数nbsp;fontcolornbsp;把带有nbsp;COLORnbsp;属性的一个nbsp;HTMLnbsp;amp;lt;FONTamp;gt;nbsp;标记放置在nbsp;Stringnbsp;对象中的文本两端nbsp;fontsizenbsp;把一个带有nbsp;SIZEnbsp;属性的nbsp;HTMLnbsp;amp;lt;FONTamp;gt;nbsp;标记放置在nbsp;Stringnbsp;对象中的文本的两端nbsp;fromCharCodenbsp;从一些nbsp;Unicodenbsp;字符值中返回一个字符串nbsp;gnbsp;nbsp;nbsp;getDatenbsp;返回nbsp;Datenbsp;对象中用本地时间表示的一个月中的日期值nbsp;getDaynbsp;返回nbsp;Datenbsp;对象中用本地时间表示的一周中的日期值nbsp;getFullYearnbsp;返回nbsp;Datenbsp;对象中用本地时间表示的年份值nbsp;getHoursnbsp;返回nbsp;Datenbsp;对象中用本地时间表示的小时值nbsp;getItemnbsp;返回指定位置的项nbsp;getMillisecondsnbsp;返回nbsp;Datenbsp;对象中用本地时间表示的毫秒值nbsp;getMinutesnbsp;返回nbsp;Datenbsp;对象中用本地时间表示的分钟值nbsp;getMonthnbsp;返回nbsp;Datenbsp;对象中用本地时间表示的月份值nbsp;getSecondsnbsp;返回nbsp;Datenbsp;对象中用本地时间表示的秒钟值nbsp;getTimenbsp;返回nbsp;Datenbsp;对象中的时间值nbsp;getTimezoneOffsetnbsp;返回用分钟表示的主计算机上的时间和全球标准时间nbsp;(UTC)之间的差别nbsp;getUTCDatenbsp;返回nbsp;Datenbsp;对象中用全球标准时间nbsp;(UTC)表示的日期nbsp;getUTCDaynbsp;返回nbsp;Datenbsp;对象中用全球标准时间nbsp;(UTC)表示的一周中的日期值nbsp;getUTCFullYearnbsp;返回nbsp;Datenbsp;对象中用全球标准时间nbsp;(UTC)表示的年份值nbsp;getUTCHoursnbsp;返回nbsp;Datenbsp;对象中用全球标准时间nbsp;(UTC)表示的小时值nbsp;getUTCMillis。
有两种方法:
方法一:在页面的script中写JS文档;
<script type="text/javascript" >
//直接写js
</script>;方法二:引入外部的JS文档,
<script type="text/javascript" src="/uploads/shbk/你的文档地址"></script>;备注:js文件最好的是防在页面底部!在WEB页面中,THML元素内,任何一个地方都可以写JS。
还有种就是在HTML元素中直接写js,我个人是不建议使用这种方式,在后面的维护是非常困难的,还不利于后期的查看,代码不直观!
Javascript对象定义的几种方式一.工厂方式:先创建对象,再向对象添加方法和属性,封闭后调用不要使用new操作符创建对象。
使用这种方法有很多弊端,把方法定义在工厂函数内部的时候,每次调用的时候都会产生新的函数function factory(name,person,address,time){ var tmp=new Object; tmp.name=name; tmp.person=person; tmp.address=address; tmp.workTime=function(){ alert("we start to work at" + time); } return tmp;}var factory1=factory("drugs",100,"huashan Rd",10);var factory2=factory("TCMdrugs",100,"hongqiao Rd",11);factory1.workTime();factory2.workTime();//Here,factory1 and factory2 have different method对这种问题虽然可以用下面的方式改进,但是缺乏很好的封装性function factory(name,person,address,time){ var tmp=new Object; tmp.name=name; tmp.person=person; tmp.address=address; tmp.workTime=workTime(); return tmp;}function workTime(){ alert("we start to work at" + this.time);}二,构造函数方式,在构造函数内部不创建对象,使用this关键字,使用时候用new操作符,存在和工厂方式相同的问题,重复创建函数。function counstruct(name,person,address,time){ this.name=name; this.person=person; this.address=address; this.workTime=function(){ alert("we start to work at" + this.time); };}三.原型方式:利用prototype属性来实现属性和方法,可以通过instanceof 检查对象类型,解决了重复创建函数的问题,但不能通过传递参数初始化属性function Car(){}Car.prototype.color = "red";Car.prototype.doors = 4;Car.prototype.mpg = 23;Car.prototype.showColor = function(){ alert(this.color);};var car1 = new Car();var car2 = new Car();但是如果遇到下面的情况,又出问题了Car.prototype.drivers = new Array("mike", "sue");car1.drivers.push("matt");alert(car1.drivers); //outputs "mike,sue,matt"alert(car2.drivers); //outputs "mike,sue,matt"drivers是指向Array对象的指针,Car的两个实例都指向同一个数组。
四.混合的构造函数/原型方式:针对原型方式的解决方案function Car(sColor, iDoors, iMpg){ this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("mike", "sue");}Car.prototype.showColor = function (){ alert(this.color);};var car1 = new Car("red", 4, 23);var car2 = new Car("blue", 3, 25);car1.drivers.push("matt");alert(car1.drivers);alert(car2.drivers);五.动态原型方式:这种方式是极力推荐的方式,避免了前面几种方式所出现的问题,提供了更友好的编码风格function Car(sColor, iDoors, iMpg){ this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("mike", "sue"); if(typeof Car.initialized == "undefined"){ Car.prototype.showColor = function (){ alert(this.color); }; Car.initialized = true; }}var car1 = new Car("red", 4, 23);var car2 = new Car("blue", 3, 25);car1.drivers.push("matt");alert(car1.drivers);alert(car2.drivers);六.混合工厂方式:和工厂方式有些相似,但采用new关键字实例化,具有和工厂方式相同的弊端,不推荐使用。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.337秒