• javascript基础语法备忘录-变量和数据类型


    //javascript基础语法备忘录-变量和数据类型

    // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名

    var message = "hi";
    message =100; //有效但是不推荐

    //如果声明变量时未初始化,message保存一个特殊值undefined
    var message;


    // 在函数中定义变量一定要使用var ,否则此变量将成为全局变量

    function test() {
    var a = 1; //勿要忘记var
    }

    //ECMAscript有5中基本数据类型,Undefined,Null,Boolean,Number,String

    //一个值使用typeof操作符 将返回一下字符串,注意typeof不是函数 而是一个操作符
    "undefined" //如果这个值未定义
    "boolean" //如果是布尔值
    "string" //如果是字符串
    "number"//如果是数值
    "object" //如果是对象或者null
    "function" //如果是函数

    //以下三种方式都可以
    alert(typeof message); //"string"
    alert(typeof (message));//"string"
    alert(typeof 95); //number

    //Undefined类型只有一个值,就是undefined,在使用var声明但没有初始化的话,这个变量值就是undefined,

    var m1 ;
    alert(m1 == undefined); //true

    //下面与上面等价

    var m2 = undefined; //没有必要初始化undefined,未经初始化的值默认就是undefined
    alert(m2 == undefined); //true


    //注意包含undefined的值和尚未定义的值是不一样的

    //下面没有声明 var age

    alert(message);//“undefined”
    alert(age); //产生错误

    //上面的代码第一个 显示message的值 undefined
    //第二行显示一个错误 因为age没有定义
    //对未声明的变量只能使用typeof检测数据类型 ,但是会返回undefined,为未初始化的也会返回undefined,所以对显示的初始化。例如字符串初始化为"",数值初始化为0, 当使用typeof时,如果返回的是undefined,那么这个变量就没被声明

    //对未声明的变量使用delete不会产生错误,


    //Null类型是第二只只有一个值的类型, typeof检测到null时返回object,如果定义的变量用来保存对象,应该初始化为null 这样一来只要检查到对象是否被保存
    //只要在保存的变量没有真正保存对象,就应该初始化为null ,这样体现了null作为空对象指针的管理。也用来区别undefined

    alert(null == undefined);//ture

    var cat = null;
    alert(typeof cat); //object


    //Boolean类型有两个值,ture和false ,true不一定等于1,false不一定等于0 ,true和false是区分大小写的,True和False不是Boolean的值
    //将一个值转换为Boolean 可以使用Boolean();

    var t1 = "hello";
    var bm = Boolean(t1);

    //以下会返回true,
    /*
    true,非空字符串,非零数字值,任何对象
    */

    //以下返回false
    /*
    false,"",0和NaN,null,undefined
    */

    //在流程判断时错误的使用对象而不是布尔值会产生错误


    //在进行算术运算的时候 八进制和十六进制都会被转换成十进制,正零和负零被认为相等

    //浮点数小数点后必须有一位数字,如果小数点后面没有数字就会作为整数保存,浮点数本身是一个整数,也会被转换成整数

    var f1 = .1;//有效但不推荐

    var f2 =1.; //解析为1
    var f3 =10.0 ;//解析为10.0

    //数值范围从 Number.MIN_VALUE~Number.MAX.VALUE 也就是5e-324~1.7976931348623157e+308
    //如果超过这个范围,负数转换成-Infinity 正数Infinity
    //如果某数得到了INfinity将无法参与下次计算
    //可以使用isFinite()函数检测是否在范围内 不是返回false

    var result = Number.MAX_VALUE+Number.MIN_VALUE;
    alert(isFinite(result)); //false


    //NaN(Not a Number) 用于表示返回一个数值操作,但是没有返回的情况,任何NaN参与的运算结构都是NaN,它与任何值都不相等,包括自己

    alert(NaN==NaN) //flase

    //isNaN()接收一个参数 任何不能转换为数值的值都会使整个函数返回true


    //数值,布尔值,对象,字符串都有toString()方法,但null和undefined没有 , 通过传参数可以使toString()转换为输出数值的字符串形式

    var num = 10;
    alert(num.toString(2)); //"10"
    alert(num.toString(8)); //"1010"
    alert(num.toString(10)); //"10"

    //如果不知道转换值是不是null或者undefined时 使用String();

    alert(String(null)); //"null"
    alert(String(age)); //"undefined" age没有声明

    //Object类型
    var o = new Object();
    var o2 = new Object; //推荐

    //每个对象都有以下方法和属性

    //constructor 用于保存创见当前对象的构造函数 上面例子就是Object();
    //hasOwnProperty(propertyName),检查给定的属性是否存在当前对象中 属性名必须是字符串形式
    o.hasOwnProperty("name");
    //isPrototypeOf()检查传入的对象是否是对象的原型

  • 相关阅读:
    jstack 命令
    jmap 命令
    jinfo 命令
    jstat 命令
    jps 命令
    java虚拟机内存区域详解
    chgrp 命令
    chown 命令
    java自定义注解
    Mysql中key 、primary key 、unique key 与index区别
  • 原文地址:https://www.cnblogs.com/or2-/p/4315886.html
Copyright © 2020-2023  润新知