• js笔记


    null 用Number转换后是0
    null 用typeof后是object(随浏览器不同)
    undefined用Number转换后的typeof是NAN

    var demo=true;
    var num=Number(demo);
    console.log(num); //1
    parseInt('123abc') //只取数字 //123



    function sum(a,b,c,d){
    console.log(sum.length);
    }

    sum(11,2,3)
    函数中形参的长度 sum.length;
    函数中实参的长度 arguments.length;

    js不定参的好处。


    函数声明整体提升
    变量的声明提升。

    js中只有一种情况使用未定义的变量不会报错,而是返回的"undefined"

    javascript中的立即执行函数。执行完就销毁了。
    (function abc(){
    var a=0;
    var b=2;
    Console.log(a+b);
    }())

    只有表达式才能被执行符号执行。
    被执行符号执行的函数就是立即执行函数。执行完就销毁了。

    闭包与立即执行函数。


    原型,原型链
    document.wirte(obj); 这里的document.write()会隐士的调用toString()方法。
    null,undefined是没有prototype对象的,所以它没有toString()方法。
    var obj=Object.create(null);
    document.write(obj); 这句会报错的。


    Math.floor()向下取整 Math.ceil()向上取整 javascript的保留小数的方法toFixed()方法,有时候会导致精度
    不准,所以尽量取整来算。这是javascript的精度不准的问题。

    call和apply
    改变this指向,区别参数列表不同,apply的参数必须是数组形式。

    js的对象在遍历的时候,有一个底层的原理
    obj.name---------------------->obj['name']


    var obj={
    name:'123',
    age:23,
    sex:'male',
    height:180
    }

    for(var pro in obj){
    // console.log(obj.pro); //这样会打印4个undefined obj['pro']没有这个属性
    console.log(obj[pro]); //应该这么写才是对的。
    }


    异步加载js的三种方式:
    js的异步加载,defer(IE下可用)
    async是w3c的异步加载。(只能引入外部js文件时使用)<script type="text/javascript" async="async" src="tools.js"></script>
    创建script,插入DOM中,加载完毕后callBack.
    <body>
    <script type="text/javascript">
    var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = "tools.js";
    document.head.appendChild(script);
    </script>
    </body>


    js加载时间线:
    异步禁止使用document.write(),因为这个方法会清空文档流。

    window.onload是等所有dom加载完执行。

    当dom解析完就执行。 这种要快一点。
    $(document).ready(function(){

    })


    js的正则表达式。
    两种创建方式1.直接字面量 2.new构造函数的方式
    unicode编码包含一切字符。u0000-uffff 十六进制的。
    js中的字符串replace方法,默认只能匹配一个。
    var str="aa"; console.log(str.replace("a","b")); ------>ba
    正则表达式加g,才能匹配所有。
    正则表达式的贪婪模式。

    sometimes the hardest part isn't letting go,but rather start over
  • 相关阅读:
    结对项目:四则运算
    Word Count(C语言)
    自我介绍+软工5问
    如何在博客园中使用markdown
    如何设计一门语言(九)——类型
    如何设计一门语言(八)——异步编程和CPS变换
    如何设计一门语言(七)——闭包、lambda和interface
    时隔多年我又再一次体验了一把跟大神聊天的感觉
    20199107 2019-2020-2 《网络攻防实践》第4周作业
    20199107 2019-2020-2 《网络攻防实践》第3周作业
  • 原文地址:https://www.cnblogs.com/zhumeiming/p/8280195.html
Copyright © 2020-2023  润新知