zoukankan      html  css  js  c++  java
  • 拓展知识

    1.逗号运算符

    var num = (1,2); //num = 2,括号必须存在

    var f = (function a() {}, function b() {}); //选取的是逗号运算符后面的值

    2.

    function test() {

    }(1,2,3,4)  //此函数这里不会报错,会认为()只是把里面的数括起来

    3.null 与 undefined 的区别

    undefined > 0  undefined < 0  undefined == 0 

    null > 0  null < 0  null == 0  以上结果都为false

    但是  null == undefined

    4.在if中返回都为false的6种情况

    false  undefined  NaN  null  0  ""(空字符串)

    5.document.write() 的调用

    document.write(123);  ->  document.write(123.toSting());  //内部会隐式的调用toString()方法

    6.函数调用

    test();函数调用    <=>  test.call();

    7.绝大多数对象都有原型

    例外:Object.create(null)  没有原型不能调用toString()方法

    Object.create()  里面可填参数只有null 和 原型(对象)

    8.isNaN()

    function myIsNaN(num) {

      var ret = Number(num);

      ret += "";

      if(ret == "NaN") {

        return true;

      } else {

        return false;

      }

    }

    9.arguments.callee 

    主要用于匿名函数的递归调用 

    function test() {

      console.log(arguments.callee == test);  //true

    }

    test();

    //计算5的阶乘
    let num = (function (n) {
    if(n == 1) {
    return 1;
    }
    return n * arguments.callee(n - 1);
    }(5));
    console.log(num); //120

    fun.caller

    function a() {

      b();

    }

    a();

    function b() {

      console.log(b.caller);  //判断b函数在哪个函数里执行的

    }

    10. -- a 与 ++ a的区别

    var a = 1;
    var b = a ++ + ++ a;  //会先计算++a,然后再算前面的a
    console.log(b);  //4
     
     
    11.逻辑运算符
     
    &&  var a = 1 && 2;  //2  第一个布尔值为真第二个数  常用于短路语句
        var a = 0 && 1;  //0  第一个布尔值为假取第一个数
     
    ||     var a = 1 || 2;  //2  第一个布尔值为真取第一个数  常用于兼容
        var a = 0 || 1;  //0  第一个布尔值为假取第二个数
     
     
    12.显示类型转换
     
    1.Number()   
    Number() 函数把对象的值转换为数字。  Number(undefined)  Number(NaN)  都返回NaN
     

    如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。

    如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

    2.parseInt()

    第一种用法:parseInt() 函数可解析一个字符串,并返回一个整数。

    第二种用法:parseInt(string, radix)  以radix为目标进制string为目标进制数转换为十进制的数

    string 必需。要被解析的字符串。
    radix

    可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

    如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

    如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

    3.parseFloat()

    parseFloat() 函数可解析一个字符串,并返回一个浮点数。

    该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达第一个小数点后数字的末端为止且前面没有其他字符,然后以数字返回该数字,而不是作为字符串。

    4.String()  

    String() 函数把传入的参数转换成字符串

    5.Boolean()

    Boolean()函数把传入的参数转换成 true / false

    undefined  false  NaN  null  0  ""(空串)  这六个Boolean值都为false

    6.toString()

    第一种用法:变量打点调用toString()方法,demo.toString()转换成字符串

    第二种用法:toString(radix)  demo.toString(radix)  把demo这个数以radix为目标进制转换成十进制

    var demo = 10000;//2进制  parseInt(demo, 2).toString(16)

    13.toFixed()

     toFixed(radix)  demo.toFixed(radix)  把demo(浮点类型)这个数去小数点后面radix位数

  • 相关阅读:
    [NOIP2017 TG D2T2]宝藏(模拟退火)
    [洛谷P1337][JSOI2004]平衡点 / 吊打XXX
    [洛谷P4940]Portal2
    [CF1073E]Segment Sum
    [CF1066C]Books Queries
    [CF1065C]Make It Equal
    [洛谷P3469][POI2008]BLO-Blockade
    网络模型 ------->MobileNet-v3
    C++--------------------->>>>>>cmakelist的编写
    C++ ----------------》》》》》cmake list的
  • 原文地址:https://www.cnblogs.com/showcase/p/10499859.html
Copyright © 2011-2022 走看看