1.清空type=file的input文件上传控件的内容,相当于重置。txtFile是该input的id

    $("#txtFile").val("");
$("#txtFile").attr("title","");
$("#txtFile").parent().find("input[type=text]").val("");

2.判断某个对象是否是数组

    function isArray(obj){
return Object.prototype.toString.call(obj)=='[object Array]'
}

3.数组去重

function unique(arr){
return Array.from(new Set(arr));
}

4.变量转换(最快捷的)

var PI="3.14";
var sPI=PI+""; //变为字符串
var intPI=~~PI; //变为int
var floatPI=*PI;//变为float
var bPI=!!PI; //变为boolean型 (任何不为空的字符串和不为0的整数都是true)
var aPI=[PI]; //变为数组 转换日期和正则表达式尽量用构造函数
转换日期:
var date=new Date("2017-01-01 12:30:30.824"); 正则表达式:
var reg=new RegExp(/pattern/flags);

5.十六进制、八进制和科学计数法

var hex=0xFF;//十六进制表示法 (十进制的值是255)
var octal=; //八进制表示法 (十进制的值是16)
var dec=1e3;//十进制的科学计数法 (十进制的值是1000)
var dec2=().toExponential();//将十进制转换成科学技术法 1e3

6.判断属性是否存在,最好用 对象.属性 的方式判断

//如果存在全局变量property
if(window.property){ }else{ }

7.在创建对象时,返回当前对象的函数便于链式操作

function Person(name){
this.name=name; this.changeName=function(name){
this.name=name;
return this;
} this.sayHello=function(){
alert(`hello, ${this.name}!`);
return this;
}
} var person=new Person("小强");
person.sayHello().changeName("小明").sayHello();

8.使用replace方法时,用正则表达式匹配需要被替换的字符串,并用函数返回的值去替换该字符串。

var h={H:"Hello",W:"world"};

var hello="H, W!";
//第一种写法
//如果正则表达式中没有圆括号(),传入函数的参数有两个。word代表整个被正则表达式匹配的字符串,index代表该匹配的字符串(word)在整个字符串中的索引
hello=hello.replace(/\w/g,function(word,index){
word=h[word];
//一定要返回一个字符串 去替换 被匹配的字符串,不然就会返回undefined字符串去替换被匹配的字符串。因为如果没有写renturn的话,函数会自动返回一个undefined值。
return word;
}); //第二种写法
//如果正则表达式中有圆括号(),传入函数的参数有三个。word代表整个被正则表达式匹配的字符串,element代表圆括号()中被匹配的字符串,index代表word在整个字符串中的索引
hello=hello.replace(/(\w)/g,function(word,element,index){
word=h[element];
return word;
})
alert(hello);//Hello, world!

9.十进制转换为十六进制或八进制,也可以反转过来

var int=;
var hex=int.toString();//结果:a (转换为16进制,结果类型是字符串)
hex=parseInt(hex,);//结果:10 (将16进制类型的字符串 转换为十进制的整数) var octal=int.toString();//结果:12 (同理)
octal=parseInt(octal,);//结果:10

10.更快的取整,使用双波浪线~~操作符

var int=(~~30.12);//
int=(~~-30.483);//-30
int=(~~0.5132);//
int=(~~NaN);//0 注意:如果执行失败,则返回0
int=(~~undefined);//
int=(~~null);//

11.字符串模版

//ES6新增了一种将变量组合为字符串的方法,使用${变量}的形式。
//注意,这种使用方式需要在``中使用。`字符是左上方,数字键盘1左边的那个,ESC键下面的那个键。现目前,支持ES6的浏览器都可以这样使用字符串模版方式。
var name="小明";
var age=;
var str=`${name}已经${age}岁啦!`;
alert(str);//小明已经21岁啦!

12.让div的滚动条始终保持在底部

//im-list是一个div的class,该div的overflow样式设置为auto
$(".im-list").scrollTop($(".im-list")[].scrollHeight);

13.console.log打印出不一样的文本

//console.log可以像C语言一样格式化输出
console.log("%c%s", "color: red; background: yellow; font-size: 24px; font-weight: bold;", "\u6253\u5370\u6548\u679c!")

打印结果:

js相关小技巧的更多相关文章

  1. JS、JQ相关小技巧积攒

    JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime()  获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面 ...

  2. JS处理事件小技巧

    今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...

  3. Node.js 调试小技巧

    小技巧--使用 supervisor如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一 ...

  4. 一些js的小技巧

    这里收集了一些编码上的小技巧,大家可以学习学习. 1.浮点转整型 使用|0快速转换 var a=(12.002)|0;//12 使用~~快速转换 ~取反运算符,2=0010,~2=1101,因为第一位 ...

  5. Js的小技巧

    感谢好友破狼提供的这篇好文章,也感谢写这些知识点的作者们和将他们整理到一起的作者.这是github上的一篇文章,在这里本兽也就只做翻译,由于本兽英语水平和编程能力都不咋地,如有不好的地方也请多理解体谅 ...

  6. js 一些小技巧

    Javascript 中的 绑定事件 on $(document).on("事件","元素","方法"): Js 定时方法 1.setTim ...

  7. JS firebug小技巧

    实际上前端的发展与进步也离不开浏览器的支持,而对于开发者来讲,浏览器最好的支持,就是对于debug的良好支持,甚至在某些兴许接手的项目中,前端的debug甚至能够解决好多问题--不说了,都是泪啊!还是 ...

  8. Form 表单相关小技巧

    JS ---textarea 高度自适应 var realH = this.scrollHeight + 10+ "px"; $(this).css("height&qu ...

  9. sublime相关小技巧

    1.快速建立一个新文件:Ctrl+n 2.修改多个相同符号:Ctrl+D 3.建立语言后缀的文件保存,例如我想创建PHP的语言脚本,先按Ctrl+Shift+p,打开Command Palette,输 ...

随机推荐

  1. STM32定时器的预装载寄存器与影子寄存器之间的关系【转】

    首先转载:   STM32定时器的预装载寄存器与影子寄存器之间的关系 本文的说明依据STM32参考手册(RM0008)第10版:英文:http://www.st.com/stonline/produc ...

  2. arch/manjaro linux configuration

    0. Installation SystemConfiguration: # 启动时选择第二项boot(non-free),Manjaro自带的驱动精灵会帮你安装好所需驱动,笔记本双显卡则会帮你安装b ...

  3. jquery hover最后解决 - 不再疑惑 - 例子在这里

    hover具有动画累计的bug, 可以使用 stop 或 filter(:not(:animated))来消除, 但是, 即使这样, 当鼠标反复滑入或滑出的时候, 虽然没有动画累计的问题, 但是 下面 ...

  4. excel的C#操作教程

    C# Excel Tutorial http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm How to transfer ...

  5. 【第二十五章】 springboot + hystrixdashboard

    注意: hystrix基本使用:第十九章 springboot + hystrix(1) hystrix计数原理:附6 hystrix metrics and monitor 一.hystrixdas ...

  6. 51Nod 1091 线段的重叠(贪心+区间相关

    1091 线段的重叠 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两 ...

  7. orm框架综合

    一, 目前ORM框架的产品非常之多,除了个大公司.组织的产品外,其他一些小团队也在推出自己的ORM框架.目前流行的ORM框架有如下这些产品: (1)Enitiy EJB:Enitiy EJB实际上也是 ...

  8. 【TCP/IP详解 卷一:协议】第四章 ARP:地址解析协议 以及其他部分的一些知识

    4.1 引言 数据链路 如以太网(Ethernet) 或者 令牌环网 都有自己的寻址机制(一般为 48 bit 的地址). 一个网络(数据链路层) 可以同时被多个不同的网络使用.比如,一组使用TCP/ ...

  9. C#完美读取CSV

    /// <summary>         /// 将DataTable中数据写入到CSV文件中         /// </summary>         /// < ...

  10. hdu 5651 xiaoxin juju needs help 逆元 两种求解方式

    xiaoxin juju needs help Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/ ...