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. 再谈树---无根树转有根树( dfs搜索转化+fa数组记录父节点) *【模板】

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <vector> ...

  2. 51nod 1201 整数划分 基础DP

    1201 整数划分  基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} ...

  3. .Net Core集成Office Web Apps(一)

    最近开始学习.Net Core,并使用Visual Studio Code工具来开发.感觉开发起来特别的方便,但是有个头疼的地方:许多的类库被修改了,一时半会儿还熟悉不了,需要查阅官方API... M ...

  4. 【Android实验】第一个Android程序与Activity生命周期

    目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...

  5. 树莓派GPIO

  6. pandas 设置单元格的值

    import pandas as pd import pickle import numpy as np dates = pd.date_range() df = pd.DataFrame(np.ar ...

  7. 消息/事件, 同步/异步/协程, 并发/并行 协程与状态机 ——从python asyncio引发的集中学习

    我比较笨,只看用await asyncio.sleep(x)实现的例子,看再多,也还是不会. 已经在unity3d里用过coroutine了,也知道是“你执行一下,主动让出权限:我执行一下,主动让出权 ...

  8. Python - WebDriver 识别登录验证码

    Python - WebDriver 识别登录验证码 没什么可说的直接上代码! #-*-coding:utf-8-*- # Time:2017/9/29 7:16 # Author:YangYangJ ...

  9. mapStateToProps,mapDispatchToProps的使用姿势

    本文作者:IMWeb 黄qiong 原文出处:IMWeb社区 未经同意,禁止转载 前言 刚接触redux的时候,发现大家对mapDispatchToProps使用有几种方法,而且都跑通了,本文来介绍下 ...

  10. Windows下openssl的下载安装和使用

    Windows下openssl的下载安装和使用 安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装ope ...