1. 数组中通过赋值语句来改变值

var a = 1;
var msg = ["value0","value1"];
for(var i = 0;i<10;i++){
alert(msg[a = a == 1 ? 0 : 1]);// 0,1,0,1…
}

能实现切换两个不同的值。  msg[a=1] 相当于 msg[1], a=1,同时执行赋值和取值

2.类型转换

一般把"123"转成number类型,都是parseInt("123");但是也可以这样:

var a= "123";//string 10
var a1 = parseInt(a,10);//number 10
var a2 = +a;//number 10
var a3 = a*1;//number 10 var a = 0;
alert(!!a);//强制转换为boolean

3. onclick和 href

 <a href="go.html" onclick="doSomething();"></a>

如果跳转之前做判断的话,传统的写法:

function doSomething(){
var res = confirm("u want go?");
if (res) {
window.location.href = "go.html";
};
}

dosomething返回的是false,则不会跳转页面,so we can achieve it like this:

function doSomething(){
return confirm("u want live?");
}

4.获取数组中最大最小值

通常,我们给Array做原型拓展,如下:

        if(typeof(Array.prototype['max']) == 'undefined'){
Array.prototype.max = function(){
var length = this.length;
if(length){
var max = this[0];
for(var i=0;i<length;i++){
if(this[i] > max){
max = this[i];
}
}
return max;
}else{
// 空数组
} }
} alert([2,3,19,223].max());//223

我们知道javascript原生的Math对象提供了比较大小的方法,

alert(Math.max(1,4,2,919,222));    //

同样的 ,我们知道apply方法可以改变this的值,并将参数与数组形式传递,所以可以巧妙的运用:

if(typeof(Array.prototype['max']) == 'undefined'){
Array.prototype.max = function(){
var length = this.length;
if(length){
return Math.max.apply({},this);
}else{
// 空数组
} }
}

或者

Array.prototype['max'] = Array.prototype['max'] || function(){
var length = this.length;
if(length){
var max = this[0];
for(var i=0;i<length;i++){
if(this[i] > max){
max = this[i];
}
}
return max;
}else{
// 空数组
}
}

5. javascript 检测对象类型

/* 检测对象类型
* @param: obj {JavaScript Object}
* @param: type {String} 以大写开头的 JS 类型名
* @return: {Boolean}
*/
function is(obj, type) {
return Object.prototype.toString.call(obj).slice(8, -1) === type;
}

  

is('sofish', 'String') // true
is(null, 'Null') // true
is(new Set(), 'Set') // true

6.正则表达式与replace方法

str.replace(/正则/,'替换的内容'|| function(match){/* todo */})

var source = '<tr><td>{$id}</td><td>{$name}</td></tr>';
console.log(source.replace(/{\$id}/g,'10'));
console.log(source.replace(/[<>&]/g,function(items){
switch(items){
case '<' :
return '<';
case '>' :
return '>';
}
}));

7.用js实现随机选取10–100之间的10个数字,存入一个数组,并排序  

js代码的一些小技巧的更多相关文章

  1. 【js】中的小技巧

    本文主要介绍一些JS中用到的小技巧 1. 类型强制转换   1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为 ...

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

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

  3. JS前端下载文本文件小技巧:1、download属性;2、借助Blob转换成二进制下载

    一.HTML download 与文件下载 如果希望在前端侧直接触发某些资源的下载,最方便快捷的方法就是使用HTML5原生的download属性,例如: <a href="large. ...

  4. 泛微关于js设计的一些小技巧

    1.关于泛微流程的js设计 泛微oa可以插入javascript可以diy自己想要的表单页面前端功能.如果有前端开发经验,或者熟练使用jQuery的话,这将变得非常容易!同时泛微OA内部有很多库,包括 ...

  5. angular源码分析:angular中各种常用函数,比较省代码的各种小技巧

    angular的工具函数 在angular的API文档中,在最前面就是讲的就是angular的工具函数,下面列出来 angular.bind //用户将函数和对象绑定在一起,返回一个新的函数 angu ...

  6. 30段极简Python代码:这些小技巧你都Get了么

    学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则.本文是 30 个极简任务,初学者可以尝试着自己实现:本文同样也是 30 段代码,Python 开发者也可以看看是不是 ...

  7. 让你的JS更优雅的小技巧

    首先,看一个非常不优雅的例子: 看到这段代码,虽然代码很短,但是一眼看上去就不想再看了,也就是没什么可读性.这段代码,没有封装,随意定义一个变量都是全局变量,这样在多人开发或者是大型开发中,极其容易造 ...

  8. js 中的一些小技巧

    js 数字操作: 1.1 取整: 取整有很多方法如: parseInt(a,10); Math.floor(a); a>>0; ~~a; a|0; 前面2种是经常用到的,后面3中算是比较偏 ...

  9. 写Java代码的一些小技巧

    写Java代码有三年多了,遇到过很多坑,也有一些小小的心得.特地分享出来供各位学习交流.这些技巧主要涉及谷歌Guava工具类的使用.Java 8新特性的使用.DSL风格开发.代码封装等技巧. 一.nu ...

随机推荐

  1. .hpp文件

    hpp在C++中的含义 以前在开源代码里面遇到过,今天看boost源码的时候又遇到了,故学习一下. hPP,计算机术语,用C/C++语言编写的头文件,通常用来定义数据类型,声明变量.函数.结构和类.而 ...

  2. 上传控件swfupload的使用笔记

    1.下载下来的官方domo里不同的例子里会引入各自的JS,注意区分.可以直接拿官方例子来改成自己想要的例子. 2.注意PHP配置文件里也有最大上传文件限制,如果文件太大会上传不成功. 3.如果有问题可 ...

  3. linux 新学到的命令

    nohup python -u /data/daemon/daemon/run.py & 使py程序可以在后台运行 nohup php a.php & 在linux平台上,要在后台运行 ...

  4. 集群重启后启动ambari-server访问Web页面无法启动集群解决

    集群重启后启动ambari-server访问Web页面无法启动集群解决 使用ambari部署的集群重新启动后,必须手动重启ambari-server和所有集群主机上的ambari-agent. amb ...

  5. algorithm@ Sieve of Eratosthenes (素数筛选算法) & Related Problem (Return two prime numbers )

    Sieve of Eratosthenes (素数筛选算法) Given a number n, print all primes smaller than or equal to n. It is ...

  6. AnnotationSessionFactoryBean用法介绍

    http://blog.csdn.net/flyingfalcon/article/details/8273618 —————————————————————————————————————————— ...

  7. Javascript事件处理进阶

    这篇文章是我在看乌龟书<编写可维护的Javascript>发现的一篇写的非常好的章节,在这里我并不会教大家什么是绑定事件等比较基础的事.有兴趣了解DOM事件的同学们,可以去w3cschoo ...

  8. 30大最有影响力的Web设计与开发英文博客

    1stwebdesigner的创始人Dainis Graveris挑选出30个高质量和具有影响力的Web设计与前端技术博客,其中很多我们都耳熟能详.但这么完整的列表,还是值得收藏的.另外,你大概不会了 ...

  9. FZU 2129 子序列个数 (递推dp)

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=2129 dp[i]表示前i个数的子序列个数 当a[i]在i以前出现过,dp[i] = dp[i - 1]*2 - ...

  10. baseDao 使用spring3+hibernate3方式

    package cn.zk.pic.service.dao; import java.io.Serializable; import java.util.List; import java.util. ...