• javascript 变量 数据类型typeof


    ECMAscript语言大量借鉴了c语言及类c语言(java和Perl)的语法.因此熟悉这些语言的开发人员在接受ECMAScript更加宽松的语法时,一定会有种轻松自在的感觉。

    区分大小写

    要理解的第一个概念就是ECMAScript中的一切(变量、函数、操作符)都区分大小写。这也就意味着test和Test分别表示两个不同的变量,而函数名不能用typeof ,因为它是一个关键字。而typeOf则完全可以是一个有效的函数名。

    标识符

    所谓标识符,就是变量,函数,属性的名字或者函数的参数。标识符的规范是:

    第一个字符必须是字母、下划线或一个美元符号;

    其他字符可以是字母、下划线、美元符号或者数字。

    按照惯例,ECMAscript标识符采用驼峰大小写格式,也就是第一个字母是小写。但是并没有强制要使用这种方式。

    注释

    单行注释是两个双斜杠 //

    多行注释是

    /*  

    */

    严格模式

    严格模式可以采用'use strict'

    语句

    ECMAScript中的语句是以分号结尾的,虽然语句结尾的分号不是必须的,但是我们建议任何时候都不要省略他。

    变量

    ECMAscript的变量是松散类型,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每一个变量就是一个保存值的一个占位符而已。定义变量时,还要用var声明,后跟变量名。如

    var message

    这行代码定义了名为message的变量,该变量可以用来保存变量值(像这样未初始化的变量,会保存一个特殊的值undefined)

    <!Doctype html>
    <html>
    <head>
    <title>变量</title>
    <meta charset="utf-8" />
    </head>
    <body>
       <script>
         var message;
         alert(message);
       </script>
    </div>
    </body>
    </html>

    使用var操作符定义一个变量将成为定义该变量的作用域中的局部变量。也就是说,如果在函数中用var 定义一个变量,那么这个变量在函数退出后将会销毁。

    <!Doctype html>
    <html>
    <head>
    <title>变量</title>
    <meta charset="utf-8" />
    </head>
    <body>
       <script>
        function test(){
          var message;
          alert(message);//弹出undefined
        }
        test();
          alert(message);//报错
       </script>
    </div>
    </body>
    </html>

    变量message是在函数中用var定义的,当函数被调用时,并创建该变量并为其赋值。而在此之后,变量又会被立即销毁。因此上面例子中的下一行代码会报错。不过声明变量时可以省略var,从而变成全局变量就不会报错。这样只要函数一调用,这个变量就有了定义,就可以在函数外部的任何地方调用。

    <!Doctype html>
    <html>
    <head>
    <title>变量</title>
    <meta charset="utf-8" />
    </head>
    <body>
       <script>
        function test(){
           message = 'hi';
          alert(message);
        }
        test(); //hi
          alert(message);//hi
       </script>
    </div>
    </body>
    </html>

    定义多个变量时,可以用逗号隔开

    <!Doctype html>
    <html>
    <head>
    <title>变量</title>
    <meta charset="utf-8" />
    </head>
    <body>
       <script>
    
        function test(){
            var message ='hi',
            found = false,
            age=29;
          alert(message);
          alert(age); 
        }
        test(); //hi
    
     
       </script>
    </div>
    </body>
    </html>

    ECMAscript中有5种基本类型:undefined、null、boolean、number、string还有一种复杂数据类型就是object,object本质上是由一组无序的名值对组成的。而ECMAscript不支持创建自定义类型的机制,而所有值都是上述这6种数据类型之一。

    typeof 操作符

    鉴于ECMAscript是松散类型的,因此需要有一种手段来检测给定变量的数据类型。typeof 就是负责提供这方面信息的操作符。对一个值使用typeof操作符可能返回下面某个字符串

    undefined 如果这个值未定义

    boolean 如果这个值是布尔值

    string 如果这个值是字符串

    number 如果这个值是数字类型

    object 如果这个值是对象或null

    function 如果这个值是函数

    <!Doctype html>
    <html>
    <head>
    <title>变量</title>
    <meta charset="utf-8" />
    </head>
    <body>
       <script>
        
         var message ="some thing";
         alert(typeof message);
         alert(typeof (message));
         alert(typeof 95);
    
     
       </script>
    </div>
    </body>
    </html>

    上面的几个例子可以说明,typeof操作符的操作数可以是变量,也可以是数值字面量。注意,typeof是一个操作符而不是函数,因此例子中的圆括号,尽管可以使用,但是不是必须的。

  • 相关阅读:
    某题3
    无向图Tarjan&&求树直径
    分布式消息中间件(一)设计
    大数据算法(一)亚线性算法
    SparkSQL
    MySQL索引
    Spark程序设计
    Java高并发网络编程(五)Netty应用
    Java高并发网络编程(四)Netty
    Java高并发网络编程(三)NIO
  • 原文地址:https://www.cnblogs.com/sandraBlog/p/javascript_.html
Copyright © 2020-2023  润新知