zoukankan      html  css  js  c++  java
  • JavaScript基础学习(二)—JavaScript基本概念

    一、语法

    1.区分大小写

        JavaScript是一种弱类型的脚本语言。它区分大小写,变量名test与Test表示两个完全不同的变量。

    2.标识符

         所谓标识符就是变量、函数、属性的名字,它有以下规则。

         (1)第一个字符必须是一个字母、下划线、或$。

         (2)其他字符可以是字母、数字、下划线、$。

         按照惯例,我们都采用驼峰大小写格式,也就第一个字母小写,其他字母大写。

    3.注释

        JavaScript包括单行注释和多行注释。

    <script type=text/javascript>
        
        //这是单行注释
        
        /*
         * 这是多行注释
         */
        
        
    </script>

    4.变量

        JavaScript的变量是松散类型的。所谓松散类型就是可以保存任何类型的数据。定义变量时使用var操作符,后跟变量名。

    vae message;

         这行代码定义了一个名为message的变量,该变量可以用来保存任何值,像这种未经过初始化的变量,会保存一个特殊值—undefined。

    4.1 全局变量和局部变量

    全局变量

         (1)在方法外部声明的变量。

         (2)在方法内部,但是没有加var关键字声明的变量。

    局部变量

         在方法内部使用var声明的变量。

    				//这是全局变量
    				var a = 10;
    				
    				function test(){
    					
    					//这是全局变量
    					b = 20;
    					
    					//这是局部变量
    					var c = 30;
    					
    				}
    				
    				test();
    				
    				alert("a = " + a); //10
    				alert("b = " + b); //20
    				alert("c = " + c); //错误

    二、数据类型

         JavaScript有5种简单的基本数据类: UndefinedNullBooleanNumberString。还有一种复杂的数据类型—Object。

    1. typeof操作符

         由于JavaScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型。typeof操作符就是负责这方面信息的。

        undefined: 这个值未定义。

             boolean: 这个值是布尔值。

                 string: 这个值是字符串。

             number: 这个值是数值。

              object: 这个值是对象或null。

            function: 这个值是函数。

    			function test(){
    				
    			}
    			
    			var a1;
    			var a2 = true;
    			var a3 = "hello";
    			var a4 = 10;
    			var a5 = null;
    			var a6 = test;
    			
    			alert(typeof a1); //undefined
    			alert(typeof a2); //boolean
    			alert(typeof a3); //string
    			alert(typeof a4); //number
    			alert(typeof a5); //object
    			alert(typeof a6); //function

    2. Undefined类型

         Undefined类型只有一个值,就是特殊的undefined在使用var声明变量但未对其加以初始化,这个变量的值就是undefined。

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

    3. Null类型

         Null类型也只有一个值,这个值就是null。null值表示一个空对象指针,如果定义的变量准备在将来用来保存对象,那么最好将该变量初始化为null而不是其他值。这样一来直接检测null值就可以知道相应的变量是否保存了一个对象的引用。

         实际上,undefined值是派生自null值的。因此相等性测试返回true。

    			alert(null == undefined); //true

         尽管null和undefined之间有这样的关系,但是它们的用途却完全不同。无论什么情况下,都没有必要把一个变量的值显示的设置为undefined。同样的规则对null却不适用,只要想保存的对象的变量还没有真正保存对象,就应该明确的让该变量保存null值。

    4. Boolean类型

         该类型有两个字面值:truefalse。true不一定等于1,而false也不一定等于0。要将一个值转换为对应的Boolean值,可以调用转型函数Boolean()。

    			var a1 = "hello";
    			var a2 = "";
    			
    			alert(Boolean(a1)); //true
    			alert(Boolean(a2)); //false

         至于返回的值是true还是false,要取决于转换值的数据类型及其实际值。下表给出了各种类型及其转换规则。

    数据类型 转换为true的值 转换为false的值
    Boolean true false
    String 任何非空字符串 ""(空字符串)
    Number 非零数字值(包括无穷大) 0和NaN
    Object 任何对象 null
    Undefined undefined
    			var a1 = "hello";
    			var a2 = "";
    			var b1 = 10;
    			var b2 = NaN;
    			var b3 = 0;
    			var c1 = null;
    			var d1 = undefined;
    			
    			alert(Boolean(a1)); //true
    			alert(Boolean(a2)); //false
    			alert(Boolean(b1)); //true
    			alert(Boolean(b2)); //false
    			alert(Boolean(b3)); //false
    			alert(Boolean(c1)); //false
    			alert(Boolean(d1)); //false 

    5. Number类型

         分为整数、浮点数、NaN、Infinity、-Infinity

    5.1 浮点数

         浮点数值的最高精度是17为小数,但在进行算术计算时其精度远远不如整数。比如,0.1+0.2结果不是0.3而是0.30000000000000004。

    			var a = 0.1;
    			var b = 0.2;
    			var c=  a + b; 
    			
    			alert(c); //0.30000000000000004

         永远不要测试某个特定的浮点数值。

    5.2 NaN

         NaN即Not a Number是一个特殊的数值。这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。在JavaScript中,任何数值除以0都会返回NaN。NaN有两个特点:

         (1)任何涉及NaN的操作都会返回NaN。

         (2)NaN与任何值都不相等。

         针对这两特点,JavaScript有isNaN()函数,在接收到一个值之后,会尝试将这个值转换为数值,任何不能转换为数值的值都会导致这个函数返回true。

    			alert(isNaN(NaN));   //true
    			alert(isNaN(10));    //false (10是一个数值)
    			alert(isNaN("10"));  //false (可以被转换为数值10)
    			alert(isNaN("blue"));//true
    			alert(isNaN(true)); //false(可以转换成数值1)

    5.3 数值转换

         Number(): 可以用于任何数据类型。

         parseInt()和parseFloat()用于字符串。

    		alert(Number(true)); //1
    		alert(Number(false)); //0
    		alert(Number(null)); //0
    		alert(Number(undefined)); //NaN
    		alert(Number("123")); //123
    		alert(Number("0xf")); //15
    		alert(Number("")); //0
    		alert(Number("hello")); //NaN

    6. String类型

       要把一个值转换为一个字符串有两种方式。第一种就是使用每个值都有的toString()方法。

    			var a1 = 10;
    			var str1 = a1.toString(); //"11"
    			var a2 = true;
    			var str2 = a2.toString(); //"true"	

         但是null与undefined没有此方法。我们还可以使用String()函数,这个函数能将任何类型的值转换为字符串。它有以下规则。

         (1)如果有toString()方法,则调用该方法并返回相关结果。

         (2)如果值是null就返回"null",如果是undefined就返回"undefined"。

    			var a;
    			alert(String(true)); //"true"
    			alert(String(10));  //"10"
    			alert(String(null)); //"null"
    			alert(String(a)); //"undefined"
  • 相关阅读:
    Superwebsocket 模拟微信聊天室
    python杂记-6(time&datetime模块)
    python杂记-5(装饰器)
    python杂记-4(迭代器&生成器)
    python杂记-3(购买商品)
    python杂记-2(python之文件)
    python杂记-1(os模块)
    淘宝链接中的spm参数
    分布式Web服务器架构(转)
    asp.net网站增加虚拟目录,用来访问网站图片。
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5431820.html
Copyright © 2011-2022 走看看