2020-05-30 html的像素换算 + css的系统菜单禁用 + js的异步编程方式 + 恶意代码举例

本文探讨了网页打印中cm与px的换算方法,详细解析了不同DPI下图片尺寸的转换,并介绍了多种确保异步任务顺序执行的策略,包括回调函数、事件监听、发布订阅模式、Promises对象、Generator及async/await。

# 2020-05-30 题目来源:http://www.h-camel.com/index.html

# [html] 网页打印与标准纸张换算时,cm和px是如何换算的?
    
    在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch 每英寸像素值)指标。网页打印中,默认采用的是96dpi,并非传闻的72dpi。
    A4纸张的尺寸是210×297mm,按1英寸=25.41mm换算,即8.264×11.688英寸。

    所以,A4纸96dpi下的分辨率是794×1123,这就是我们在制作网页的时候需要的像素。
 
    但是打印机是无法满幅打印的,总要有页边距,所以我们在制作网页的时候必须减去页边距。 

    例如大多网页的常用图片分辨率为72dpi,每英寸的像素为72px,按1英寸=25.41mm换算,可以得出:150*150mm的图片,像素长度是 420*420px.
    
# [css] H5如何禁止显示系统菜单?
    
     用户长按时会出现系统的默认菜单,还要给input开放允许
    

# [js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的?
    
    1. 回调函数 -- 同步变异步 f1不会阻塞程序运行 延迟执行耗时的程序逻辑
    优点:简单 易部署理解;    缺点:各部分紧耦合,不易阅读维护

    function f1(callback){
        setTimeout(function(){
            //f1的代码
            callback();
        },1000)
    }
    f1(f2);
    
    2. 事件监听 -- f1执行完触发done事件来执行f2
    优点:可以绑定多个事件,利于实现模块化,去耦合;        缺点:程序变成事件驱动,运行流程混乱

    f1.on("done".f2);
    function f1(){
        setTimeout(function(){
            //f1的代码量
            f1.trigger("done");
        },1000)
    }
 
    3. 发布订阅模式(观察者模式) f1执行完向jQuery发出done信号,从而f2执行开始
    jQuery的插件,可以查看 消息中心 监控程序的运行    

    jQuery.subscribe("done",f2);
    function f1(){
        setTimeout(function(){
            //f1的代码
            jQuery.publish("done");
        },1000)
    }
    
    4. promises对象 -- 每个异步任务返回一个promise对象,该对象的then()方法来指定回调函数
    f1().then(f2).then(f3);

    5. Generator
    6. async await

# [软技能] 举例说明恶意代码都有哪些?

     1. 会造成死循环的  while(true)
     
    <script>
        var str="hello, world";
        while(true);
        str+=str; //字符串不断增长,会使系统崩溃
    </script>

     2. 递归调用

    <script>
        function danger()
        {
            alert("hello!"); //反复弹窗,不能关闭
            danger ();
        }
        danger();
    </script>

    3. 修改系统设置:ie浏览器主页、窗口标题;修改或禁用右键菜单;修改系统hosts文件;修改注册表;禁用注册表和任务管理器;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值