• JavaScript的理解记录(1)


    1、JavaScript的数据类型分为两类:原始类型和对象类型;

    原始类型包括:数字,字符串,布尔值,null和undefined; (都是不可变类型,值不可以修改)

    对象类型:普通对象和函数;

    函数可使用new新建对象,即构造函数;每个构造函数定义了一类对象--由构造函数初始化的对象组成的集合;

    类可以看做是对象类型的子类型,javascript语言定义的类主要有:数组Array,函数Function,日期Date 

    正则RegExp: var pattern=/s$/ 等价于 var pattern = new RegExp("s$");用于匹配任何以‘s’结束的字符串;

    错误Error:定义了表示程序中运行是错误和语法错误的对象; 在try--catch中使用。

    --------------------------------------------

    关于常用类型判定例子:

    定义变量:var n;

    赋值-----

    获取类型: typeof n 

    // 'undefined' --- 这个值未定义;
    // 'boolean' --- 这个值是布尔值;
    // 'string' --- 这个值是字符串;
    // 'number' --- 这个值是数值;
    // 'object' --- 这个值是对象或null;
    // 'function' --- 这个值是函数。

    null和函数也是对象,但返回值不同;

    ---------------------------------------------

    2、数值类型:

     1)、所有数字均用浮点数值表示;

     2)、JavaScript预定义了全局变量NaN非数字值与Infinity正无穷大;

       仅当x为NaN时,x!=x为true,其他都为false;

          仅当参数是NaN或非数字值时,isNaN()返回值为true;

          仅当参数不是NaN、Infinity或-Infinity的时候,isFinite()返回true;

     3)、javascript浮点数表示法是一种二进制表示法,不能精确表示类似0.1这样的数字;

      var x = 0.3- 0.2; var y = 0.2- 0.1;alert(x == y); //false

          javascript真实运行环境中:x=0.099 999 999 999 999 98    y = 0.1;

    3、字符串,正则的使用例子:

    var text = "test:1,2,3";

    var pattern = /d+/g //匹配所有包含一个或多个数字的实例;

    pattern.test(text); //true 匹配成功;

    text.search(pattern); //6 首次匹配成功位置;

    text.match(pattern);  //[1,2,3]所有匹配成功组成的数组;

    text.replace(pattern,'#'); //[test:#,#,#] 替换

    4、布尔值:

      判断以下值时:undefined,null,0,-0,NaN,"" 都是false;

      var y; var x= null; alert(x == y);// true  y是undefined ;

    5、类型转换:

      1.number-to-string:

          var n = 123456.789;

      n.toFixed(2) //123456.78 指定小数点后的位数;

      n.toExponential(2) //1.23e+5 指定指数计数法,小数点钱固定一位;

          n.toPrecision(10) //123456.7890   指定有效数字位数

      n.toPrecision(2) //1.23e+5 如小于整数位数,则转为指数

      2.string-to-number:

         parseInt() //解析整数;

         parseFloat() //解析整数和浮点数;

    6、函数:函数变量声明提前

       var n = 'global';

      function(){

        console.log(n);  //undefined

        var n = 'scope'; 

           console.log(n);  //scope     

      }

    等价于:

       var n = 'global';

      function(){

          var n;

       console.log(n);  //undefined

        n = 'scope'; 

            console.log(n);  //scope     

      }

  • 相关阅读:
    分部视图
    linq的几个方法
    如何让服务器支持mp4文件下载和sqlserver将表生成为sql语句方法
    在asp.net mvc中导出Excel文件
    Linq2EF操作中的两个小问题
    JSON到底是什么?
    连接跟踪(conntrack):原理、应用及 Linux 内核实现 转载
    没有安全,没有隐私
    互联网发展到今天,我们要做的,是用机器解决人类解决不了的问题。在这个意义上,比起人工智能,机器智能这个词更加准确。
    今天,世界各国城市的可持续发展面临很大挑战,这些挑战也带来了一个难得的机遇,就是利用机器智能解决城市发展过程中许多重要的问题,如交通治理。同时这也是像机器智能这样的新一代技术快速发展的机遇,这正是我全身心推动城市大脑的原因
  • 原文地址:https://www.cnblogs.com/liangblog/p/5909753.html
Copyright © 2020-2023  润新知