2018.11.05工作中小记JS

2018-11-05  本文已影响3人  仰望天空的人

1.对象的长度不能用.length获取,用js原生的Object.keys可以获取到,或者用for in里a++

$('#productName').bind('input propertychange', function() {searchProductClassbyName();});     
//  input输入时触发的事件

3.canvas:
使用 toDataURL() 方法,可以导出在 <canvas> 元素上绘制的图像。这个方法接受一个参数,即图
像的 MIME 类型格式,而且适合用于创建图像的任何上下文。

4.移动端click问题解决:<meta name="viewport" content="width=device-width">
还有第三种办法就是设置CSS: Chrome和Safari都可以生效

html{
        touch-action: manipulation;
}

5.视口设置
width=640,是根据psd图来设置,有多宽设置多宽(设计图是640的设置640)
,移动端写px

<meta content="target-densitydpi=device-dpi,width=640" name="viewport">

6.表格布局常用点:

table:border="3" borderColor="#000" width="100%"    bgColor  背景颜色
td: rowspan="5" 纵向(必须删掉多余的td元素)    colspan="5"  横向
border-collapse="collapse" 边框合并   cellpadding="0" cellspacing="0"

7.发短信,winphone系统无效 <a href="sms:10086">发短信给: 10086</a> 引用视频<input type=file accept="video/*">

8.手机video 都可以在页面中播放,而不是全屏播放了。

<video id="myvideo" src="test.mp4" webkit-playsinline="true"></video>

9.深拷贝的两种方式

var obj1 = { a: 10, b: 20, c: 30 };
var obj2 = { a: obj1.a, b: obj1.b, c: obj1.c };
obj2.b = 100;
console.log(obj1);
// { a: 10, b: 20, c: 30 } <-- b 沒被改到
console.log(obj2);
// { a: 10, b: 100, c: 30 }

Object.assign,ES6 的新函数,可以帮助我们达成跟上面一样的功能。
obj1 = { a: 10, b: 20, c: 30 };
obj2 = Object.assign({}, obj1);
obj2.b = 100;
console.log(obj1);
// { a: 10, b: 20, c: 30 } <-- 沒被改到
console.log(obj2);
// { a: 10, b: 100, c: 30 }

转成 JSON 再转回来    JSON.parse(JSON.stringify(xxx.xxx))
用JSON.stringify把对象转成字符串,再用JSON.parse把字符串转成新的对象。
缺点:只有可以转成JSON格式的对象才可以这样用,像function没办法转成JSON。

10.箭头函数中的this指向的是定义时的this,而不是执行时的this

$(function(){
    $('#username').bind('input propertychange', function() {
        $('#result').html($(this).val().length + ' characters');
    });

})
$("span:contains('全体会议')")

function Percentage(number1, number2) { 
    return (Math.round(num / total * 10000) / 100.00 + "%");// 小数点后两位百分比

}  计算百分比        2/10 × 100% = 20%

由百分数计算回整数 用百分数的数字乘以0.01,或者将小数点向左移动两位,将3%转换成0.03。
console.log(Math.round(2 / 14 * 100) + "%") 这种方法不会保留小数


ts文件转换 命令行:tsc demo.js

上一篇 下一篇

猜你喜欢

热点阅读