美文网首页
javascript权威指南(第六版)

javascript权威指南(第六版)

作者: HALLOXIAOHONG | 来源:发表于2019-12-06 17:41 被阅读0次

    js ——>>

    display:隐藏元素,不保留所占空间

    visivility:隐藏元素,保留所占空间

    {name:xh,year:10}:对象

    [1,2,3]:数组

    is精度带来的表述问题

    0.3-0.2 不等于0.1

    toFixed()进行四舍五入或者尝试《js精度达不到解决方法》

    getDay():0为周日1为周一~6为周六

    getMonth():从0计数eg:1月获取值为0,2月为1以此类推

    getUTCHours():世界标准时间

    lastIndexOf():字符最后出现的位置,区别与IndexOf()

    算数表达式 a++的执行机制 p82译注1

    var i=1;

    i++ --> 1

    ++i -->3

    i++后增量

    ++i前增量

    ===严格相等、恒等运算符

    js中所有大写字母都小于小写字母,js严格区分大小写,严格按照ASCII码表排序

    Evsal() :不能被赋予别名、若通过别名调用直接抛EvalError异常

    通过delete删除对象不仅是设置了一个undefined值

    continue:执行下一次循环

    break:退出循环

    在for与wile循环中有区别

    while中使用continue如果不做循环变量修改会陷入死循环、因为continue后是回到while头部再次执行。而在for循环中continue后会执行增加或修改变量值。所以while循环并不能完全等价

    for/in循环:更方便地遍历对象属性成员

    短路算法:多用于避免错误

    eg:

    var a = -1, b = 2, c = -3, d = -1;

    d =  a+1>0 && ++b>0 &&  c-4>0;

    结果:a=-1,b=2,c=-3.d=false

    当执行到第一个‘a+1>0’是得到值fase,停止执行后面数据

    从0开始的不连续数组

    Array.join()将所有元素转换为字符串拼接到一起,返回最后生成的字符串

    Array.reverse()将元素颠倒顺序,返回逆序数组

    Array.sort()将元素排序并返回排序后的数组

    Array.concat()创建并返回一个新数组

    Array.slice()返回指定数组的一个片段或子数组

    Array.splice()插入或删除元素

    Array.push()在数组尾部添加一个或多个元素,返回数组新长度

    Array.pop()在数组的尾部删除最后一个元素并返回他删除的值

    Array.unshift()在数组的头部添加一个或多个元素 --与push类似

    Array.shift()在数组的头部删除一个元素 --与pop类似

    toLocaleString()将元素转换为字符传且使用本地化(自定义)分隔符将这些字符串连接起来。用法【https://blog.csdn.net/weixin_39749820/article/details/82869537】

    eg:

    var a = [1,3,5,2,4];

    a.join("-");// => "1-3-5-2-4"

    a.reverse();// => [4, 2, 5, 3, 1]

    a.sort();// =>[1, 2, 3, 4, 5]

    a.concat(6,7);// =>[1, 3, 5, 2, 4, 6, 7]

    a.slice(1,3);// =>[3, 5]

    a.splice(2);// =>[5, 2, 4]

    a.splice(2,1);// =>[5]

    var b = [];

    b.push(1,2);// => [1, 2]

    b.push([3,4]);// =》[1,2,[3,4]]

    b.pop();// =>[1, 2] 返回 [3,4]

    b.unshift(0);// =>[0, 1, 2]

    b.shift();// =>[1, 2] 返回0

    var c = 12345678;

    c.toLocaleString();// =>12,345,678

    var dates = new Date();

    dates.toLoacaleString();// =>2019/12/6 下午5:27:28

    ...(未完待续)

    slice(开始位置,结束位置)

    地图:反应巨慢。。。。

    pushState、replaceState:改变网址(存在跨域限制)而不刷新页面

    pushState:向浏览器历史添加了一个状态(增加一个记录)

    replaceState:把当前的页面的历史记录替换掉

    防止事件多次触发,建议使用闭包。表单提交使用flag加锁

    节流:throttle 无论点击多少次都只在固定间隔执行一次

    闭包:保证私有变量不被修改和污染,与static类似

    实例对象一旦创建,将自动引用prototype对象的属性和方法.

    "!!"将表达式进行强制转化为bool值的运算,运算结果为true或者false。

    const aa = 'xx';

    const bb = !!aa; // bb输出为true

    const cc = !!(NaN || undefined || null || 0 || '' ); // cc为false;

    \\表转义

    \\\\表’\‘

    相关文章

      网友评论

          本文标题:javascript权威指南(第六版)

          本文链接:https://www.haomeiwen.com/subject/ksvegctx.html