javascript常用语法的技巧

JavaScript学习笔记--常用的互动方法
转载 &更新时间:日 14:48:19 & 作者:王隆帅
本文对JavaScript中常用的互动方法进行实例分析介绍,图文并茂,有需要的朋友可以看下
输出内容(document.write)
document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容。
第一种:输出内容用“”括起,直接输出""号内的内容。
&script type="text/javascript"&
document.write("I love JavaScript!"); //内容用""括起来,""里的内容直接输出。
第二种:通过变量,输出内容
&script type="text/javascript"&
var mystr="hello world!";
document.write(mystr); //直接写变量名,输出变量存储的内容。
第三种:输出多项内容,内容之间用+号连接。
&script type="text/javascript"&
var mystr="hello";
document.write(mystr+"I love JavaScript"); //多项内容之间用+号连接
第四种:输出HTML标签,并起作用,标签使用“”括起来。
&script type="text/javascript"&
var mystr="hello";
document.write(mystr+"&br&");//输出hello后,输出一个换行符
document.write("JavaScript");
在写JS代码的时候,大家可以会发现这样现象:
document.write(" 1
结果: 1 2 3
无论在输出的内容中什么位置有多少个空格,显示的结果好像只有一个空格。
这是因为浏览器显示机制,对手动敲入的空格,将连续多个空格显示成1个空格。
1、使用输出html标签&来解决
document.write("& "+"1"+"&&& "+"23");
结果: 1 23
2、使用CSS样式来解决
&document.write("&span style='white-space:'&"+"& 1&&&&&&& 2&&& 3&&& "+"&/span&");
在输出时添加“white-space:”样式属性。这个样式表示"空白会被浏览器保留"
警告(alert 消息对话框)
我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字。如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的。
alert(字符串或变量);
看下面的代码:
&script type="text/javascript"&
var mynum = 30;
alert("hello!");
alert(mynum);
注:alert弹出消息对话框(包含一个确定按钮)。
结果:按顺序弹出消息框
在点击对话框"确定"按钮前,不能进行任何其它操作。
消息对话框通常可以用于调试程序。
alert输出内容,可以是字符串或变量,与document.write相似。
确认(confirm 消息对话框)
confirm消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。
confirm(str);
str:在消息对话框中要显示的文本
返回值: Boolean值
当用户点击"确定"按钮时,返回true
当用户点击"取消"按钮时,返回false
注: 通过返回值可以判断用户点击了什么按钮
看下面的代码:
&script type="text/javascript"&
var mymessage=confirm("你喜欢JavaScript吗?");
if(mymessage==true)
{ document.write("很好,加油!"); }
{ document.write("JS功能强大,要学习噢!"); }
注: 消息对话框是排它的,即用户在点击对话框按钮前,不能进行任何其它操作。
提问(prompt 消息对话框)
prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。
prompt(str1, str2);
参数说明:
str1: 要显示在消息对话框中的文本,不可修改
str2:文本框中的内容,可以修改
1. 点击确定按钮,文本框中的内容将作为函数返回值
2. 点击取消按钮,将返回null
看看下面代码:
var myname=prompt("请输入你的姓名:");
if(myname!=null)
{ alert("你好"+myname); }
{ alert("你好 my friend."); }
注:在用户点击对话框的按钮前,不能进行任何其它操作。
打开新窗口(window.open)
open() 方法可以查找一个已经存在或者新建的浏览器窗口。
window.open([URL], [窗口名称], [参数字符串])
URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
窗口名称:可选参数,被打开窗口的名称。
&& &1.该名称由字母、数字和下划线字符组成。
&&& 2."_top"、"_blank"、"_selft"具有特殊意义的名称。
&&&&&& _blank:在新窗口显示目标网页
&&&&&& _self:在当前窗口显示目标网页
&&&&&& _top:框架网页中在上部窗口中显示目标网页
&&& 3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
&& &4.name 不能包含有空格。
参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
例如:打开网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
&script type="text/javascript"& window.open('http://www.baidu.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
注意:运行结果考虑浏览器兼容问题。
关闭窗口(window.close)
close()关闭窗口
window.close();&& //关闭本窗口
&窗口对象&.close();&& //关闭指定的窗口
例如:关闭新建的窗口。
&script type="text/javascript"&
var mywin=window.open('http://www.baidu.com'); //将新打的窗口对象,存储在变量mywin中
mywin.close();
注意:上面代码在打开新窗口的同时,关闭该窗口,看不到被打开的窗口。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!自己写了一些JS常用的方法( Updata) - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 16时,
整理了一些JS的常用方法,包括验证啊,全选反选啊,ajax请求啊之类的,因为就是自己用的,写的都比较简单,就算抛砖引玉吧,喜欢的就拿去,不喜欢就拉到/*&Updata*/之前的文件删除了重新进行了一下整理,添加了文档说明不知道为什么,新传的文件不直接显示预览,哪位知道指点一下既然文件不能预览,那么人工强行预览,第一个文件可直接下载,下边直接贴出了代码,供在线预览
代码片段(2)
tools.js&~&17KB&&&&
2.&[代码][JavaScript]代码&&&&
* JS公用类库文件
* 创建时间:
* 创建人:mction
(function(){
W: window,
D: document,
Postfix: ".php",
GetId: function(id){return document.getElementById(id)},
hi:function(){alert('Hi')},
* 验证表单输入框的值是否与指定值相符
* @param name 要验证的输入框的name
* @param value 要验证的值
* @param message 验证失败时弹出的消息提示
* @returns {boolean} 若与给定值相等,则返回true,不相等则返回false
input: function(name,value){
var input = $(":input[name='"+name+"']");
if(input.val() == value){
input.focus();
* 验证输入框的值是否为手机号码的格式
* @param name 要验证的输入框的name
* @returns {boolean} 若不符合格式要求返回true,否则返回false
phone: function(name){
* 联通号段:130/131/132/155/156/185/186/145/176;
* 电信号段:133/153/180/181/189/177;
* 移动号段:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178
var reg = /^1(30|31|32|55|56|85|86|45|76|33|53|80|81|89|77|34|35|36|37|38|39|50|51|52|57|58|59|82|83|84|87|88|47|78)[0-9]{8}$/;
var input = $(":input[name='"+name+"']");
if(!reg.test(input.val())){
input.focus();
* 验证输入框的值是否为邮箱格式
* @param name 要验证的输入框的name
* @returns {boolean} 若不符合格式要求返回true,否则返回false
email: function(name){
var reg = /^[a-zA-Z0-9_]+@[a-z0-9]+\.[a-z]+$/;
var input = $(":input[name='"+name+"']");
if(!reg.test(input.val())){
input.focus();
* 验证输入框的值是否符合用户名的格式要求
* @param name ~
* @returns {boolean} ~
username: function(name){
var reg = /^[a-zA-Z][a-zA-z0-9]{4,15}$/;
var input = $(":input[name='"+name+"']");
if(!reg.test(input.val())){
input.focus();
* 验证输入框的值是否符合密码格式要求
* 格式要求:不能为纯数字,不能为纯字符,不能为纯标点符号,不能小于6位,不能大于18位
* @param name ~
* @returns {boolean} ~
password: function(name){
var reg = /^([A-Z]+)$|^([a-z]+)$|^([0-9]+)$|^([-`=\\\[\];',\.\/~!@#\$%\^&\*\(\)_+\|\{}:"&&\?]+)$|^.{0,6}$|^.{18,}$/
var input = $(":input[name='"+name+"']");
if(reg.test(input.val())){
input.focus();
* 验证输入框的值是否符合身份证格式要求
* @param name ~
* @returns {boolean} ~
identification: function(name){
var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "};
var input = $(":input[name='" + name + "']");
var code = Ident.val();
if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){
input.focus();
else if(!city[code.substr(0,2)]){
input.focus();
//18位身份证需要验证最后一位校验位
if(code.length == 18){
code = code.split('');
//∑(ai×Wi)(mod 11)
//加权因子
var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
var sum = 0;
var ai = 0;
var wi = 0;
for (var i = 0; i & 17; i++)
ai = code[i];
wi = factor[i];
sum += ai *
var last = parity[sum % 11];
if(parity[sum % 11] != code[17]){
input.focus();
* 用户中心类
* 登录方法
* @param username 用户名输入框的name
* @param password 密码输入框的name
* @param requestURL 验证地址
* @param locationURL 通过后的跳转地址
* @returns {boolean}
login: function(username, password, requestURL, locationURL){
var usernameInput = $(":input[name='" + username + "']");
var passwordInput = $(":input[name='" + password + "']");
if(Tools.Check.username(username)){
alert("用户名格式不符合要求");
if(Tools.Check.password(password)){
url:requestURL,
type:"POST",
request:"Login",
username:usernameInput.val(),
password:passwordInput.val()
dataType:"json",
success:function(data){
if(data.state != 200){
alert(data.message);
location.href= locationURL;
logout:function(URL){
location.href = URL;
* 复选框全选/反选方法
* @param className 每组复选框的className
* @param action 全选或反选操作,值为真则全选,值为假则反选
boxAllSel: function(className,action){
var boxList = $(":input[type='checkbox']." + className);
if(action){
for(var I in boxList){
boxList[I].checked =
for(var I in boxList){
boxList[I].checked = boxList[I].checked ? false :
* 批量请求方法,使用方法:
* 将下拉菜单option的值设置为此种格式:请求地址:请求标识:弹出提示的消息内容:是否接收输入:接收输入时显示的消息:接收输入时的默认值
* 请求地址:要发送到的URL地址,注意不要加后缀名。如action.php只需写action即可,后缀名在Tools中统一设置
* 请求标识:本次请求发送的处理标识信息
* 是否接收输入:true or false
* @param o 操作列表的对象,如果直接在select对象上调用,传入this即可
* @param className 复选框组的className
requests: function(o,className){
//批量请求
//url.request.message.input.inputMessage.inputValue
var data = $("."+ className +":checked").serialize();
if(data == ''){
alert("您没有选中任何项");
o.value = o.options[0].
var tempArr = O.value.split('.');
if(!tempArr[0] || !tempArr[1]){
//验证URL及动作
alert("错误:缺少必须参数");
o.value = o.options[0].
data += "&request=" + tempArr[1];
var message = "确认删除选中项吗?";
if(tempArr[2]){
//验证并设置提示消息
message = tempArr[2];
if(confirm(message)){
var input =
if(tempArr[3]){
//验证并设置是否接收用户输入
if(input == 'True'){
var inputVal = prompt(tempArr[4],tempArr[5]);
data += "&input=" + inputV
url:"./"+tempArr[0] + Tools.Postfix,
type:'GET',
data:data,
dataType:'json',
async:false,
success:function(data){
alert(data.message);
location.reload(true);
* 单词请求
request: {
Data : '',
MetHod : '',
DataType : '',
Async : '',
* 设置请求参数
* @param options 请求时发送的参数对象
* @param method 请求方式,默认GET
* @param dataType 接收数据类型,默认json
* @param async 是否异步,默认为true
* @returns {Tools} 返回对象本身,以供调用send
setData:function(options,method,dataType,async){
this.Data =
this.MetHod = typeof method == 'undefined' ? 'GET' :
this.DataType = typeof dataType == 'undefined' ? 'json' : dataT
this.Async = typeof async == 'undefined' ? true :
* 发送请求
* @param Url 请求地址
* @param call 成功回调函数,可不设
* @param alertMessage 是否弹出确认对话框
* @param message 确认对话框内容
send:function(Url,call,alertMessage,message){
if(!message){
message = "确认删除吗?";
if(typeof call != 'function'){
call = function(data){
switch(this.dataType){
case 'text' :alert(data);
default :alert(data.message);break
location.reload(true);
var alertControl = //控制是否弹出提示消息
var sendControl = //控制是否发送本次请求
if(typeof alertMessage != 'undefined' && alertMessage == false){alertControl = false}
if(alertControl && !confirm(message)){sendControl =}
if(sendControl){
type:this.MetHod,
data:this.Data,
dataType:this.DataType,
async:this.Async,
beforeSend:function(O){LId = Tools.Public.Loading.open();},
success:call,
error:function(E,Info,EO){alert(E.statusText + ":" + E.responseText);},
complete:function(O){Tools.Public.Loading.close(LId);}
* 在input后添加描述文本框
Description: {
DescId: '',
* 显示描述文字,可用于用户名/密码格式要求,在input标签上设置onfocus属性来使用
* @param o 使用该方法的对象,一般在input标签上使用是传入this对象
* @param message 显示的内容
display: function(o,message){
var id = parseInt(Math.random() * 1000);
this.DescId =
var description = Tools.D.createElement('description');
description.id =
description.innerHTML =
description.style.width = "200px";
description.style.border = "1px solid #dfdfdf";
description.style.backgroundColor = "#fff";
description.style.lineHeight = "normal";
description.style.position = "absolute";
description.style.top = o.offsetTop + 'px';
description.style.marginLeft = "5px";
$(o).after(description);
o.setAttribute("onblur",'Tools.Public.Description.close()');
close: function(){
$("#"+this.DescId).remove();
Loading : {
WindowId:'',
open: function(message){
var id = parseInt(Math.random() * 1000);
this.WindowId =
var div = Tools.D.createElement("div");
div.style.width = "80%";
div.style.height = "50px";
div.style.backgroundColor = "#000";
div.style.opacity = "0.5";
div.style.borderRadius = "10px";
div.style.position = "fixed";
div.style.top = (Tools.W.innerHeight - 50) / 2 + "px";
div.style.left = "10%";
var pTag = Tools.D.createElement("p");
pTag.style.textAlign = "center";
pTag.style.color = "#fff";
pTag.style.lineHeight = "50px";
pTag.style.height = "50px";
pTag.style.margin = "0";
var imgTag = Tools.D.createElement('img');
imgTag.src = "/Public/images/loading.gif"; //在这里设置加载中图标
imgTag.style.marginBottom = "-5px";
if(message){
pTag.innerHTML =
pTag.innerHTML = "正在处理中";
pTag.appendChild(imgTag);
Tools.D.body.appendChild(div);
Tools.GetId(this.WindowId).appendChild(pTag);
close:function(id){
if(typeof id != 'undefined' && id != null){
Tools.D.body.removeChild(Tools.GetId(Id));
}else if(this.WindowId != ''){
Tools.D.body.removeChild(Tools.GetId(this.WindowId));
开源中国-程序员在线工具:
相关的代码(77)
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
2楼:Mr_Tank_ 发表于
3楼:xuqingkai 发表于
无论如何我得多说一句:最好继承js的命名规范,变量名称,驼峰结构,第一个字母小写,
4楼:CharlieJin 发表于
这种精神值得学习!
5楼:bosscheng 发表于
给个建议for里面的I 建议 var 下。
6楼:fuckyousis 发表于
7楼:茄子妈了个 发表于
jQuery就够了,然并卵
8楼:liujb88 发表于
引用来自“茄子妈了个”的评论jQuery就够了,然并卵jquery其实才是真正的然并卵,楼主精神挺好的。
9楼:明非_ 发表于
170 号段呢
10楼:BuN_Ny 发表于
看这一堆变量就很难受。
11楼:开源无憾 发表于
jq风格的封装,没文档就看着累
12楼:字里行间 发表于
引用来自“徐清凯”的评论无论如何我得多说一句:最好继承js的命名规范,变量名称,驼峰结构,第一个字母小写,好的,谢谢你的建议,我会抽出时间重新整理一份
13楼:字里行间 发表于
引用来自“bosscheng”的评论给个建议for里面的I 建议 var 下。好的
14楼:字里行间 发表于
引用来自“茄子妈了个”的评论jQuery就够了,然并卵确实JQ都可以实现,事实上我这个也是依赖于JQ的,我这个代码只是整理一些常用的功能省去大家用到的时候现写的麻烦而已
15楼:字里行间 发表于
引用来自“Edire”的评论170 号段呢号段可能不全,因为是直接在网上找的,我并没有去验证,缺了你用的时候就补上好了
16楼:字里行间 发表于
引用来自“码农界傲娇段子手”的评论jq风格的封装,没文档就看着累自己用的,所以当时就没写文档,毕竟文档要是都写上代码也会很大的,实际使用中那是不现实的,我会找时间将文档补全重新发出来的
17楼:spademan 发表于
不给预览 差评 哈哈哈
18楼:字里行间 发表于
引用来自“spademan”的评论不给预览 差评 哈哈哈呃,我也不知道为什么不能预览,之前上传的是可以预览的,然后我把那个删除了,上传了这个就不能预览了
19楼:spademan 发表于
引用来自“spademan”的评论不给预览 差评 哈哈哈引用来自“字里行间”的评论呃,我也不知道为什么不能预览,之前上传的是可以预览的,然后我把那个删除了,上传了这个就不能预览了辛苦了、
开源从代码分享开始
字里行间的其它代码分享Javascript实用方法二
转载 &更新时间:日 14:56:28 & 投稿:mrr
javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,本文给大家分享javascript实用方法二,感兴趣的朋友一起学习吧
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
承接上一篇,
object的keys方法能够获取一个给定对象的所有键(key/属性名)并以数组的形式返回。这个方法可以用于键的筛选、匹配等。
var basket = {
strawberry: 12,
banana: 20,
apple: 30,
console.log(Object.keys(basket));
//[ 'strawberry', 'banana', 'apple', 'juice' ]
create方法用于创建一个新的对象,可选参数(proto, [ propertiesObject ]),第一个为原型,比如Array.prototype之类的,第二个为需要给新建对象的一些新属性之类的,这个参数对象的属性名将是新建对象的属性,值则是属性描述符(value、writable、configurable等)。
var o = Object.create({}, {p: {value: 42}});
var O = Object.create({}, {p: {value: 66, writable: true, enumerable: true}});
console.log(o.p); //42
console.log(O.p); //66
console.log(o.p); //42
console.log(O.p); //80
属性描述符中writable默认为false,因此o.p即便在后来重新赋值也是不能改变其值的,而O.p则能够在后来改变值,此外,create方法proto必须传入相应参数,否则会报错TypeError,当然以上代码在严格模式下也会报错,因为o.p被重写- -
assign方法,es6的新特性,支持传参(target, …sources),用于将任意多个源对象的键值对添加的目标对象,类似于lodash的assign和underscore的extendOwn方法。
var boy = {handsome: true, rich: true}, girl = {cute: true, hair: 'long'};
var couples = Object.assign({}, boy, girl);
console.log(couples); //{ handsome: true, rich: true, cute: true, hair: 'long' }
assign方法常用于框架层面的数据处理,比如你定义了一个client用于发送HTTP请求,使用的时候获取接受到的参数之外自己可能得加上什么默认的属性。
Number的isNaN方法用来判断传入值是否是NaN的值,与全局的isNaN方法不同的是它不会强制将传入参数转化为数字类型,只有在参数是真正的数字类型,且值为 NaN 的时候才会返回 true。不过就自己而言全局的isNaN用的多一点,就用来判断字符串是不是只包含数字,
console.log(isNaN('123f')); //true
console.log(isNaN('123')); //true
此外,isFinite(value)方法用于判断传入参数是否是有穷数,isInteger(value)方法用于判断传入参数是否是整数。
toFixed方法用来将数字转化为特定的字符串,支持传入参数(digits),0 & digits &= 20,在转换的时候会自动进行四舍五入以及0补充。
var cool = 666.666;
console.log(cool.toFixed(1)); //666.7
console.log(cool.toFixed(6)); //666.666000
这段时间发生了很多事情,从待了116天的杭州来到北京,开始一段新的工作与生活。不舍、惆怅、激动、兴奋等情绪交织缠绵…七匹狼,认识了其余六狼,很珍惜这段大家一起努力一起嗨皮的日子,尤记得夜爬宝石山,俯瞰西湖,English poor,哈哈哈…
ps:javascript split() 定义和用法
split() 方法用于把一个字符串分割成字符串数组。
stringObject.split(separator,howmany)
必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具介绍几个常用的javascript处理方法
例题1.获取地址栏参数
采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!)
function GetQueryString(name) {
& & var reg = new RegExp(&(^|&)& + name + &=([^&]*)(&|$)&);
& & var r = window.location.search.substr(1).match(reg);
& & if (r != null) return unescape(r[2]);
// 调用方法
alert(GetQueryString(&参数名1&));
例题2.[问题]元素垂直居中问题
1.若父容器下只有一个元素,且父元素设置了高度,则只需要使用相对定位即可& &&
parentElement{
& & height:
.childElement {
& position:
& top: 50%;
& transform: translateY(-50%);
2.父元素的高度未知,让左边的一列随右边的一列高度变化而垂直居中
parentElement {
& & position:
childElement {
& & position:
& & top: 50%;
& & transform: translateY(-50%);
例题3.[script问题]随机产生0-100之内的10个不重复的数字
function getRandom() {
& & //利用一个对象和一个数组
& & var obj = {},array = [];
& & while (array.length & 10) {
& & & & var num = Math.floor(Math.random() * 100);
& & & & if (!obj[num]) {
& & & & & & obj[num] =
& & & & & & array.push(num);
1.生成n-m的随机数
公式:Math.round(Math.random()*(m-n)+n) 或者 Math.ceil(Math.random()*(m-n)+n)
2.双重非位运算简写
Math.floor(4.9) === 4 //true
~~4.9 === 4 //true
3.打乱数组的顺序
arr.sort(function(){
return Math.random()-0.5
4.简单数组自定义排序
var arrSimple2=new Array(1,8,7,6);
arrSimple2.sort(function(a,b){return b-a});
a,b表示数组中的任意两个元素,若return & 0 b前a后;
reutrn & 0 a前b后;a=b时存在兼容简化一下:a-b输出从小到大排序,b-a输出从大到小排序。
5.加号的用途
1)使用+将字符串转换成数字,这个只适用于字符串数据,否则将返回NaN
var aa = '123';alert(+aa) == Number(aa)
2)+号同样适用于日期,将返回的是时间戳数字
var aa = new Date();alert(+aa) == aa.getTimes()
6.截断数组方法
数组截断,可以通过array.length = 5来截断数组
var array = [1,2,3,4,5];array.length = 3;alert(array)//[1,2,3]
还可以通过length来清空数组
arrar.length = 0
7.高效的for循环
for(var i=arr.i--;){
alert(arr[i])
8.合并两个数组
把数组2合并到数组1中,使得数组1改变,返回的是数组的长度
console.log(array1.push.apply(array1, array2)); // [1,2,3,4,5,6];
9.将NodeList转换成数组
var elements = document.querySelectorAll(&p&);&
var arrayElements = Array.from([].slice.call(elements));
10.获取数组中最小或最大的数字
var a=[1,2,3,5];
alert(Math.max.apply(Math, a));//最大值
alert(Math.min.apply(Math, a));//最小值

我要回帖

更多关于 javascript常用函数 的文章

 

随机推荐