zoukankan      html  css  js  c++  java
  • JS基本概念和数据类型

    语句

    JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。

    语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。

    var a = 1 + 3;
    

      

    这条语句先用var命令,声明了变量a,然后将1 + 3的运算结果赋值给变量a

    1 + 3叫做表达式(expression),指一个为了得到返回值的计算式。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。凡是 JavaScript 语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。

    变量

    变量是对“值”的具名引用。变量就是为“值”起名,然后引用这个名字,就等同于引用这个值。变量的名字就是变量名。

    简单说变量就是存储数据的容器

    在JS中变量通过关键字"var"来创建,创建变量的过程称为"声明"

    var b = 3;
    

      上面这段代码就是先声明了变量b,再将数值3赋值给变量b,以后引用变量b就会得到数值3。

    变量提升

    JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。

    例如这段代码:

    var a = 4;
    

      我们可以这么理解为:

    var a;
    a = 4;
    

      

    标识符

    在JS中所有的可以由我们自主命名的都可以称为是标识符(identifier),最常见的标识符就是变量名和函数名。

    标识符有自己的命名规则,在起名字时要符合如下规则命名,不符合规则的标识符就是非法标识符

    1)第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。

    2)第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9

    3)标识符不能是ES中的关键字或保留字

    1a    //不能以数字作为第一个字符
    @qbb  //不能除了美元符号$和下划线_以外的符号作为第一个字符
    ab^c    //中间不能包含除了美元符号$和下划线_以外的符号
    

      以上都是非法标识符

    !中文是可以作为标识符的,因为符合Unicode编码方式

    var 我是变量 = 1
    

      

    注释

    在JS中注释是不会被执行的,注释的作用就是对代码进行解释。JS有两种注释的方法:

    //单行注释
    
    /*
    这是
    多行
    注释
    */
    

      

    数据类型

    JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值)

    • 数值(number):整数和小数(比如13.14
    • 字符串(string):文本(比如Hello World)。
    • 布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)
    • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
    • null:表示空值,即此处的值为空。
    • 对象(object):各种值组成的集合。

    通常,数值、字符串、布尔值这三种类型,合称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。对象则称为合成类型(complex type)的值(或叫作引用类型),因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefinednull,一般将它们看成两个特殊值。

    对象是最复杂的数据类型,又可以分成三个子类型。

    • 狭义的对象(object) (键值对类型的)
    • 数组(array)
    • 函数(function)

    typeof 运算符

    我们可以用typeof 运算符来判断一个值返回哪种数据类型

    数值、字符串、布尔值分别返回numberstringboolean

    typeof 123     //"number"
    typeof 'hello'  //"string"
    typeof true    //"boolean"
    

      

    undefined返回undefined

    typeof undefined  //"undefined"
    

      

    null返回object

    typeof null //"object"
    

      

    对象和数组返回object

    typeof []  //"object"
    typeof {} //"object"
    

      

    函数返回function

    function f(){}
    typeof f(){}  //"function"
    

      

  • 相关阅读:
    LeetCode 3Sum Closest
    LeetCode Jump Game
    LeetCode Convert Sorted List to Binary Search Tree
    LeetCode Search for a Range
    LeetCode ZigZag Conversion
    sql server中主键列的插入问题
    php 联系电话验证(手机和固话)
    Update与Mysql、Sqlsever中的随机数
    Yii在nginx下多目录rewrite
    php后台判断ajax请求
  • 原文地址:https://www.cnblogs.com/ianyanyzx/p/9470197.html
Copyright © 2011-2022 走看看