zoukankan      html  css  js  c++  java
  • JavaScript基本概念(一) v0.5

    摘要:先简单介绍ECMAScript的语法(如果有其他类C的经验,这个很好理解),接着介绍了ECMAScript的数据类型:Number、Boolean、String、Undefined和Null类型,还有一个Object类型。最后介绍了JS内置函数和操作符的一般执行过程。

    语法

    区分大小写

    ECMAScript中的一切(变量、函数名和操作符)都区分大小写。

    标识符

    什么是标识符?

    指变量、函数、属性的名字,或者函数的参数。格式规则是:

    • 第一个字符必须是字母、下划线或者美元符号($);
    • 其他字符可以是字母,下划线,美元符号或数字。

    不能把关键字、保留字、true、false和null作为标识符。

    ECMAScript标识符采用驼峰大小写格式。

    注释

    没什么好说的。

    但是区块注释要注意哟:(v0.5)

    /*
      var a = /b*/.match(astr); 
    */
    // 单行注释
    /**
    * 区块注释
    * 
    */

    语句

    ECMAScript中的语句以一个分号结尾。

    关键字和保留字

    关键字是指有特定用途的符号。

    保留字,也不能用作标识符,尽管还没有什么用途。

    变量

    ECMAScript的变量时松散类型的。可以用来保存任何类型的数据。

    未初始化的变量值为undefined。

    省略var操作符定义的变量是全局变量。在局部作用域中定义的全局变量很难维护。

    数据类型

    ECMAScript中有5中简单数据类型:undefined、null、number、boolean和string

    还有1个复杂类型Object(无序名值对组成)

    typeof 操作符

    来检测给定变量的数据类型  ,可能返回以下某个字符:

    • “undefined” —— 这个值没定义
    • “boolean” —— 这个值是布尔值
    • “string” —— 这个值是字符串
    • “Object” —— 这个是对象或者null
    • “number” —— 这个值是数值
    • “function” —— 这个值是函数

    Undefined类型

    该类型只有一个值undefined

    在使用var变量但未对其进行初始化时,变量值就为undefined。

    引入这个值的目的是为了正式区分空对象指针和未经初始化的变量。

    NUll 类型

    只有一个值null 表示一个空对象指针。

    如果定义的变量准备在将来用于保存对象,最好初始化为null。

    null和undefined之间的相等操作符(==) 总是返回true。

    原因是:==操作符先转换再比较。

    Boolean 类型

    有俩值 true和false 

    任何非空string、非0 number、任何非null对象都可转化为true。

    Number类型

    值分为浮点数、整数和NaN 

    《JavaScript精粹》书曰:(V0.5)

    JavaScript只有一种数字类型,在内部被表示为64为的浮点数,它没分离出整数类型,所以1和1.0的值是相同的。

    好处是,完全规避了短整数的溢出问题,只需要把它当成一种数字。

    (1) 浮点数

    必须有小数点,并且小数点之后有数字。 注意浮点数的比较(可不能用 == 操作符哟)

    (2) 整数

    ECMA能表示的最小数值为Number.MIN_VALUE 最大数值为Number.MAX_VALUE 

    如果超过了则为 无穷 +-Infinity 

    Number.NEGATIVE_INFINITY

    Number.POSITIVE_INFINITY

    isFinite() 用来检测是否有穷。

    (3) NaN

    非数值是一个特殊的数值

    • 任何涉及NaN的操作,都返回NaN
    • NaN与任何值都不相等,包括NaN本身

    isNaN() 用来检测这个参数是否“不是数值”,任何不能被转换为数值的值都会导致这个函数返回true。

    (4) 数值转换

    Number() 应用于任何数据类型

    规则: Boolean类型的参数 true -> 1 false -> 0

    null值 -> 0  undefined -> NaN

    parseInt() 专门用于字符串 (用法参见API)

    parseFloat() 用于字符串 (用法参见API)

    String类型

    用于表示由0或多个16位Unicode字符组成的字符序列。

    因为JavaScript被创建的时候,Unicode是一个16位的字符集,所以JavaScript中的所有字符都是16位的。(V0.5)

    字符串可以由双引号和单引号表示。

    (1) 字符串字面量

    somestring.length  //属性返回的字符数包括字符的数目

    (2) 字符串的特点

    字符串是不可变的,字符串一旦创建,它们的值就不能改变。

    (3) 转换为字符串

    • 第一种 toString(),几乎每个值都有该方法。
    • 第二种 如果是null和undefined值,则使用String()方法。 返回“null” 和“undefined” 

    Object类型

    对象是一组数据和功能的集合。可以通过new 操作符后跟要创建的对象类型的名称来创建。

    Object类型是所有它的实例的基础,Object的每个实例都具有下列属性和方法。

    • constructor:保存着用于创建当前对象的函数。
    • hasOwnProperty(propertyName): 用于检查给定的属性在当前对象实例(而不是在实例的原型中)中是否存在。参数必须以字符串形式指定。
    • isPrototypeOf(object): 用于检查传入的对象是否是传入对象的原型。 
    • propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句来枚举。参数必须以字符串形式指定。
    • toLocaleString(): 返回对象的字符串表示,该字符串与执行环境的地区对应。
    • toString(): 返回对象的字符串表示。
    • valueOf(): 返回对象的字符串、数值或布尔值。通常和toString() 方法的返回值相同。

    写在后面的话:

    ECMAScript中内置的函数和操作符执行的一般过程:

    拿isNaN()举例,函数的参数和操作符的操作数为对象时,

    首先调用对象的valueof() 方法,然后确定该方法返回的值是否可以转换为数值。

    如果不能,则基于这个返回值在调用toString()方法,再测试返回值。

    .
  • 相关阅读:
    STL读书笔记
    时间复杂度
    GDB十分钟教程
    lua函数随记
    svn提交时强制添加注释
    按位与、或、异或等运算方法
    mongodb常用语句
    STL容器的基本特性和特征
    C++:模板
    Vector 特性
  • 原文地址:https://www.cnblogs.com/googny/p/3681755.html
Copyright © 2011-2022 走看看