一些常用的前端功能

反转对象键值

const invert = (obj) => Object.keys(obj).reduce((res, k) => Object.assign(res, { [obj[k]]: k }), {})
var t = invert({name: 'jack'}) // {jack: 'name'}
console.log(t)

删除对象中的属性值为null或undefined的所有属性

const removeNullUndefined = (obj) => Object.entries(obj).reduce((a, [k, v]) => (v == null ? a : ((a[k] = v), a)), {});
var t = removeNullUndefined({name: '', age: undefined, sex: null}) // { name: '' }
console.log(t)

颜色格式转换:6进制转换成rgb

const hexToRgb = hex => hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (_, r, g, b) => `#${r}${r}${g}${g}${b}${b}`).substring(1).match(/.{2}/g).map((x) => parseInt(x, 16));
var t = hexToRgb('#00ffff'); // [0, 255, 255]
var t = hexToRgb('#0ff'); // [0, 255, 255]
console.log(t)

比较两个对象

const isEqual = (...objects) => objects.every(obj => JSON.stringify(obj) === JSON.stringify(objects[0]))
isEqual({name: 'jack'}, {name: 'jack'}) // true
isEqual({name: 'jack'}, {name: 'jack1'}, {name: 'jack'}) // false

在某个文本中将里面的标签全部过滤掉

const stripHtml = (html) => new DOMParser().parseFromString(html, 'text/html').body.textContent || '';
var txt = stripHtml('

ddd

test
') // 'dddtest' console.log(txt)

字符串转对象

const strParse = (str) => JSON.parse(str.replace(/(\w+)\s*:/g, (_, p1) => `"${p1}":`).replace(/\'/g, "\""))
var obj = strParse('{"name": "jack"}')
var obj = strParse('{name: "jack"}')
console.log(obj)

监听 页面size 有改变

jQuery(document).bind("DOMSubtreeModified",{},function(){alert(666)});

文字无缝向左滚动




  
  Document
  
   




  • 根本英俊赢得iPhone6
  • 根本英俊赢得iPhone6
  • 根本英俊赢得iPhone6
  • 根本英俊赢得iPhone6

判断打开网页的是什么平台

            var sUserAgent = navigator.userAgent.toLowerCase();
            if(sUserAgent.match(/ipad/i)==“ipad”){
                u.MobileSystem = IPAD;
                u.System = MOBILE;
            }else if(sUserAgent.match(/iphone os/i)==“iphone”){
                u.MobileSystem = IPHONE;
                u.System = MOBILE;
            }else if(sUserAgent.match(/android/i)==“android”){
                u.MobileSystem = ANDROID;
                u.System = MOBILE;
            }
        


小数点排序




 
菜鸟教程(runoob.com) 






判断字符串是否为空

alert($scope.dataVal.replace(/(^\s*)|(\s*$)/g, "")=="")  //为空 true  不为空FALSE

判断一个字符在另一个字符中出现的次数

	function patch(s, re) {//匹配出现的个数
		 	re=new RegExp(re,"ig");//字符串转正则
		 	
	        return s.match(re) ? s.match(re).length : 0;
	   }
alert(patch(str, key)>0)

JavaScript 在字符串中替换某个位置的字符

由JSON字符串转换为JSON对象

argsStr =  $("#args").val(),
argsObj= eval('(' + argsStr + ')'),

让弹出窗口总是在最上面:

< body οnblur=”this.focus();”>

js中的6个false值

 空字符串""。

 null。

 undefined。

 数字0.

 数字NaN。

 布尔值false;

ENTER 键可以让光标移到下一个输入框

< input οnkeydοwn=”if(event.keyCode==13)event.keyCode=9″>

双波浪号的妙用(将内容转化为数字,或者小数取整)

取整是直接去掉小数点后的小数,而并不是采用的四省五入的计算.

var str = "123.123";
console.log(~~str);

怎样去掉图片链接点击后,图片周围的虚线?

< a href=”#” onFocus=”this.blur()”>< img src=”logo.jpg” border=0>< /a>

你可能感兴趣的:(JavaScript,相关知识,jq文字无缝向左滚动)