扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
sort 方法
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟主机、营销软件、网站建设、耒阳网站维护、网站推广。
arrayobj.sort(sortfunction)
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。
如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
数组.sort(sortDOM)
function sortDOM(a,b){
//A商品价格
var priceNodeA=a.getElementsByClassName("price")[0];
//B商品价格
var priceNodeB=b.getElementsByClassName("price")[0];
var priceA=parseFloat(priceNodeA.innerHTML.substr(1))*1000;
var priceB=parseFloat(priceNodeB.innerHTML.substr(1))*1000;
//数字大小比较,定义比较规则(原理:字符转成ASCII值直接按数字比较大小)
//字符串放到数组中,用sort()方法默认按ASCII 字符顺序规则
//或者自己定义:比如截取每个字符串的第一个字符,转成ASCII值,比较数字大小,这里的规则就随便写了
return priceA-priceB;
}
script language="javascript" /script这里面没有大小写问题但是方法、属性名等等是区分大小写的,是一种著名的命名规则具体为:按单词划分,第一个单词全部小写,其余单词首字母大写,这样利于阅读比如getElementById方法,第一个单词get全部字母小写,剩下的单词Element,By,Id 全部是首字母大写当然还有不少特例,比如portertype等等,特例也是遵循规则的,但是描述比较麻烦,自己去总结吧在写js时最好也遵循这样的规则,以便别人阅读
javascript要区分大小写。
比如document.getElementById('idval').value = "";
Element,By,Id因为在后面的位置,所以要使用“驼峰”原理,首字母大写。
javascript的命名原则与java是类似的。
JavaScript语言有以下特点:
(1) JavaScript语言的语法类似于C语言和Java语言。
(2) JavaScript程序由客户端的浏览器解释执行。
(3) JavaScript中,字母区分大小写。
由于JavaScript是解释执行的,所以它的语法远不如C语言等严格,如果程序中有错误,浏览器会忽略错误的部分,而不是停止执行。
JavaScript程序是在客户端执行的,它不能操纵服务器中的数据库,所以包含了JavaScript的网页仍是静态网页。
整型常量:
以 0 开头的是八进制数,如 065。
以 0x 开头的是十六进制数,如 0x3f4a。
其它为十进制数,如 35,-70。
浮点常量:
如 12.8、-0.65、1.2e-7。
布尔常量:
有 true 和 false 两个。
字符串常量:
如:"OK"、"a"、"欢迎光临"。
注:JavaScript中的字符串可以用双引号分界,也可用单引号分界。如果串中含有一种引号,需用另一种引号分界。
转义字符:
如:\n 代表换行,\r 代表回车,\t 代表Tab符,\" 代表双引号,\' 代表单引号。
它们一般用于字符串之中。
undefined:
代表未定义的值。它不能用于计算,如果引用了一个不存在的变量,或没有赋值的变量时,输出此值。
null:
代表空值。它不能用于计算,但可以用它为变量赋值,来清空变量中原有的值。
说明:在JavaScript中没有其它语言中常见的字符型量,需要用字符串代替。
JavaScript的数据类型可分为两大类:原始类型、引用类型。原始类型变量的值存放在栈中,访问变量时可直接访问到变量的值。引用类型变量在栈中存放的是指针,其值另外存放在堆中,需要通过指针才能访问。
原始类型:包括 Undefined、Null、Boolean、Number、String 五种。
Undefined 类型:值为 undefined,代表一个未定义的量。
Null 类型:值为 null,一般用作占位符,表示一个尚不存在的对象。
Boolean 类型:值为 false 或 true,一般用于条件表达式中。
Number 类型:值为数字,可进行数值计算。
String 类型:值为字符串,可进行字符串处理。
引用类型:所有对象都是引用类型。包括 Boolean、Number、String、Array、Date、Math 等。
其中,Boolean、Number、String 既可以是原始类型,也可以是引用类型。
引用类型的变量除了可以访问变量的值以外,还提供了若干属性和方法。
JavaScript中的变量声明用关键字 var 引导,变量的类型取决于它的声明方式。
声明原始类型的变量:
var 变量名 = 值;
例如:
var x;
var b = true;
var k = 20;
var s = "abc";
变量 x 没有指定值,它的值默认为 undefined,变量 b 为 Boolean 型,变量 k 为 Number 型,变量 s 为 String 型。
声明引用类型的变量:
var 变量名 = new 类型名(初值);
例如:
var bb = new Boolean(false);
var str = new String("Hello");
var arr = new Array("red","yellow","blue");
变量 bb 是 Boolean 对象,变量 str 是 String 对象,变量 arr 是 Array 对象。
JavaScript的变量是弱类型的,变量的类型主要取决于它的值,你可以随时更改它的类型。
例如:
var i;
i = 20;
i = "red";
声明时变量 i 是 Undefined 类型,赋值一个整数后,它成为 Number 类型,赋值为字符串后,又成为 String 类型。
JavaScript中的运算符和C语言基本相同,优先级也相同。
算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、++(增量)、--(减量)、-(取负)。
逻辑运算符:(与)、||(或)、!(非)。
比较运算符:(大于)、=(大于等于)、(小于)、=(小于等于)、==(等于)、!=(不等于)、===(严格相等)、!==(不严格相等)。
注:“相等”只要求值相等,“严格相等”要求值相等且类型相同。如:1=="1" 是 true,而 1==="1" 是 false。
位运算符:(位与)、|(位或)、^(位异或)、~(按位取反)、(左移)、(右移)、(填0右移)。
赋值运算符:=(赋值)、op=(运算赋值)。
注:运算赋值中的运算符可以是算术运算符或位运算符。如:“x+=10”表示“x=x+10”。
条件运算符:条件 ? 表达式1 : 表达式2
注:若条件为 true,值为表达式1的值,否则为表达式2的值。
字符串连接运算符:+、+=。
如:"every"+"one" 的结果为 "everyone"。
注:连接的项目中可以包括字符串、常量、变量,不需要都是字符串,只要项目中有一个是字符串就会按字符串进行连接。
如:"ex"+20+"b" 的结果为 "ex20b"。
new 运算符:
用于创建一个对象。如:new Array() 表示生成一个数组对象。
delete 运算符:
用于删除一个对象。
JavaScript语句用“;”分界,但没有分号也可以正常使用,不过应该养成书写分号的习惯。
表达式语句:
x=1;
x++;
条件语句:if …… else ……
if( x0 )
k = "A";
else
k = "B";
多路分支语句:switch …… case ……
switch( a )
{
case 1: x = "A"; break;
case 2: x = "B"; break;
case 3: x = "C"; break;
default: x = "D";
}
循环语句:while
while( x5 )
{
y += x;
x++;
}
循环语句:do …… while
do
{
y += x;
x++;
}while( x5 );
循环语句:for
for( i=1; i=10; i++ )
{
x += 2;
}
退出循环:break、continue
break 语句可退出循环语句或 switch 语句。
continue 语句可结束本次循环,并开始下一次循环。
JavaScript语句用“;”分界,但没有分号也可以正常使用,不过应该养成书写分号的习惯。
表达式语句:
x=1;
x++;
条件语句:if …… else ……
if( x0 )
k = "A";
else
k = "B";
多路分支语句:switch …… case ……
switch( a )
{
case 1: x = "A"; break;
case 2: x = "B"; break;
case 3: x = "C"; break;
default: x = "D";
}
循环语句:while
while( x5 )
{
y += x;
x++;
}
循环语句:do …… while
do
{
y += x;
x++;
}while( x5 );
循环语句:for
for( i=1; i=10; i++ )
{
x += 2;
}
退出循环:break、continue
break 语句可退出循环语句或 switch 语句。
continue 语句可结束本次循环,并开始下一次循环。
对象(Object)是JavaScript中最重要的一种数据类型,一个对象中可包含若干属性和方法。
属性相当于一种变量,有些属性一开始就有值,可以通过它们获取对象的参数,有些属性是只读的,这种属性可作为常量使用。引用对象属性的方法是:
对象名.属性名
方法相当于函数,你可以调用对象的方法来实现相应操作。引用对象方法的方法是:
对象名.方法名(参数)
有些方法不需要参数,但在调用时也不能省略括号。
JavaScript支持自定义对象,但我们在编程中使用的一般都是系统提供的对象。这些对象提供了丰富的属性和方法,可以在程序中直接使用它们。
JavaScript可访问的对象包括:本地对象、BOM 对象 和 DOM 对象。
本地对象 是JavaScript语言提供的对象,它们只能用于JavaScript程序中。包括 Boolean对象、Number对象、String对象、Array对象、Data对象、Math对象等。
BOM 对象 是由浏览器窗口提供的对象,它们由浏览器开发者提供,可以被包括JavaScript在内的脚本语言访问。包括 Window对象、Document对象、Navigator对象、Screen对象、History对象、Location对象等。
DOM 对象 是一种跨平台的对象,它们可以用于不同语言的程序中。DOM 对象对应的是页面中的标签,每个HTML标签都是一个 DOM 对象。
对象实例:
对象实例是对象的具体个体,一个对象可以拥有多个对象实例,比如每个字符串都是一个 String 对象的实例,我们访问对象时,实际上访问的是对象的实例。
本地对象的实例一般是通过 new 运算符生成的,比如:
var arr = new Array("red","yellow","blue");
var s = "Hello";
arr 是一个 Array 对象的实例,s 是一个 String 原始类型,但它也是一个伪对象,可以引用 String 对象的属性和方法。
BOM 对象对应的是浏览器窗口,它本身已经实例化了,可以直接访问,比如:
window.alert("Hello!");
document.write("欢迎光临");
window 是当前窗口的 Window 对象的实例,document 是当前窗口的 Document 对象的实例。
DOM 对象对应的是页面中的 HTML 标签,每个标签都是某种 DOM 对象的实例,它们往往是通过 Window 对象或 Document 对象间接访问的,比如:
var a = document.getElementById("txt");
document.getElementById("txt") 用于获取页面中 id="txt" 标签对应的 DOM 对象。
注意:在JavaScript中,对象名、属性名、方法名都是区分大小写的,如:“Math.PI”不能写成“math.pi”,“document.write”也不能写成“Document.write”。
this 关键字:
this 是对当前对象自己的引用,用它可直接调用当前对象的属性和方法。比如:
input type="radio" name="rr" value="A" onclick="sel(this.value)" /
input 是一个HTML标签,但它同时也是一个 DOM 对象,其中的 this.value 就是引用这个 Input 对象的 value 属性值。
因为你没有把tradeMoney 和 TotradeMoney转成数字型的
那么这2个变量都是字符串的
在字符串比较中是一个字符一个字符的比较,只要不同就停止返回大小
那么10000和2 比较的是1和2,那么1肯定小于2,所以返回false
要想比较,就要转成数字型的
用parseInt()或者parseFloat()转成int类型或者float类型的进行比较才可以。
改成这样
function IsTradeMoney()
{
var tradeMoney=document.all("txttradeMoney");
var TotradeMoney=document.all("txtTotradeMoney");
if(tradeMoney.value!="" TotradeMoney.value !="")
{
alert(tradeMoney.value);
alert(TotradeMoney.value);
var tm1 = parseFloat(tradeMoney.value);//把第一个转成float类型
var tm2 = parseFloat(TotradeMoney.value);//把第二个转成float类型
alert(tradeMoney.valueTotradeMoney.value);
if(tm1 tm2)//用2个float类型的进行比较
{
alert("交易额第二个值必须大于第一个值");
return false;
}
}
return true;
}
用 JavaScript 控制浏览器窗口大小:
A:有时候,需要控制显示窗口的大小,通过点击窗口右上角的控制按钮来实现。
function Minimize()
{
window.innerWidth = 100;
window.innerHeight = 100;
window.screenX = screen.width;
window.screenY = screen.height;
alwaysLowered = true;
}
function Maximize()
{
window.innerWidth = screen.width;
window.innerHeight = screen.height;
window.screenX = 0;
window.screenY = 0;
alwaysLowered = false;
}
上面的代码包含 2 个函数,第 1 个函数 Minimize 中使用 innerWidth 和 innerHeight 2 个命令在象素级别上控制窗口尺寸大小,这里将窗口设置为宽 100 高100。然后,设置窗口的起始位置,定位大小为屏幕的宽和高,这样,使用 alwaysLowered 命令就将窗口缩小并移动到了屏幕的右下角。触发事件是一个 JavaScript 链接 〈A HREF="javascript:onClick=Minimize()"〉Minimize〈/A〉。同时,上述代码可以用于设置屏幕的任何分辨率。
注意,当在页面上应用这个功能时,请将那 2 个触发事件的链接放置在页面的左上角,这样,当窗口缩小到右下角时,也不会消失。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流