js运算符的一些特殊应用
2017-03-02 20:25
253 查看
本文集合了了js运算符的一些特殊应用。
js位运行符的运用。
js运算符的使用技巧。
是否包含指定字符: ~
~"str1".indexOf("str2")
str1 被查找的字符串
str2 查找的字符串
如果 str1 不含有 str2 ,则返回数字 0 。
例:
var str1='abc'; var str2='a'; if(~str1.indexOf(str2)){ console.log('有'+str2) //有a }else{ console.log('无'+str2) }
取整: |
num | 0
num 整数
例:
1.3 | 0 //1
取半: >>
num >> 1
num 整数
例:求 50 的 1/2
50 >> 1 //25
有除号
/干嘛不用呢?多好呀:
50/2 //25
成长值评级: ||
需求1:成长值为5是1星;
成长值为10是2星;
成长值为12是3星;
成长值为15是4星;
其他都是0星。
({'5':1,'10':2,'12':3,'15':4}[val] || 0);
val 成长值。
判断奇偶: &
num & 1
num 整数
例:
var num=3; if (num & 1) { console.log("num是奇数"); //num是奇数 } else { console.log("num是偶数"); }
交换两个数字的值: ^=
使用位运行符:var num1 = 1, num2 = 2; num1 ^= num2; num2 ^= num1; num1 ^= num2; console.log(num1,num2); //2 1
使用数组:
var num1 = 1, num2 = 2; num1 = [num2, num2 = num1][0]; console.log(num1,num2); //2 1
2的n次方: << 和 **
1 << n-1
使用位运行符:2的n次方
例:2的3次方:
1<<3 //8
使用幂运行符:
个人觉得这个不如直接使用 幂 的方式好。
x的y次方:
x**y
例:2的3次方:
2**3 //8
方法比较:
使用
<<的方式可以支持负数,
**需要用括号否则出错。
使用
**比较直观,没研究过
<<方法的任意数的任意次方的规律。
1<<3 //8 2**3 //8 -1<<3 //-8 -2**3 // 报错 -(2**3) //-8 3<<2 //12 错误 3**2 //9 正确
是否是指定字符串开头: ! 和 ^
!str1.indexOf("str2")
例:
var str1='abc'; var str2='a'; if(!str1.indexOf(str2)){ console.log('是开头') }else{ console.log('不是开头') }
使用正则方式
/^a/.test('abc') //a开头,true /c$/.test('abc') //c结尾,true
字符串转数字: +
+str
例:
var str='123'; typeof(str) //string typeof(+str) //number
转为 Boolean 值: !!
!!obj
例:
!!'text' //true
相关文章推荐
- js运算符的一些特殊应用
- js运算符的一些特殊用法
- 关于JS计时器的一些应用
- js中eval() 方法的使用以及一些特殊的使用方式
- WPF控件的一些特殊应用
- 一些js应用
- JS 的特殊应用
- js 在项目中的一些应用
- flash在网页应用中的一些特殊应用场景
- tomcat中jsp,js中取得当前应用名称的一些注意事项
- 黑马程序员——运算符及语句的应用,一些小知识点总结
- 深入理解js的prototype以及prototype的一些应用
- 发邮件 上传图像 JS中的EVENT GRIDVIEW的简单应用 JS中一些寻找控件的用法
- JS应用,表单上的一些东西
- 一些实用的方法与特殊的运算符
- JAVA字符串的一些特殊应用——数字变成字符串并位数补足0等
- 关于UIWebView的一些应用,包括与JS交互,前进,后退等
- js中eval() 方法的使用以及一些特殊的使用方式
- SqlServer和Oracle中一些常用的sql语句10 特殊应用
- cesiumjs的一些简单地图应用,主要包含cesium调用arcgis服务