3.1 语法

    ECMAScript的语法大量借鉴了C及其他类C语言的语法。

  3.1.1 区分大小写

  3.1.2 标识符

  所谓标识符,就是值变量、函数、属性的名字,或者函数的参数。标识符可以是按照下列格式规则组合起来的一个或多个字符:

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

    (2)、其他字符可以是字母、下划线、美元符号或数字;

    PS:标识符的字母也可以包含扩展的ASCII或Unicode字母字符,但我们不推荐这样做;最好用驼峰命名法;不能把关键字、保留字、true、false和null用作标识符。

  3.1.4  严格模式

    "use strict";

    严格模式下,javascript的执行结果会有很大不同。

  3.3 变量

    ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值得占位符而已。定义变量时要使用var操作符(注意var是一个关键字),后跟变量名(即一个标识符)。(未经初始化的变量,会保存一个特殊的值undefinded);在函数里定义的变量,在函数推出后就会被销毁。(不用var 定义变量,会直接变成全家变量,不推荐使用,避免污染全局)

  3.4  数据类型

    5种基本类型(undefined,null,boolean,string,num),1种复杂数据类型(object);

     object本质上是由一组无序的名值对组成的。

  3.4.1 typeof操作符

    对一个值使用typeof操作符可能返回下列字符串:

    (1)"undefined"--如果这个值未定义;

    (2)"boolean"--如果这个值是布尔值;

    (3)"string"--如果这个值是字符串;

    (4)"number"--如果这个值是数组;

    (5)"function"--如果这个值是函数;

    (6)"object"--如果这个值是对象或null(ps:typeof null会返回“object”,因为特殊值null被认为是一个空的对象的引用)

  PS:alert未经声明的变量会报错,但是用typeof检测未经声明的变量时不会报错,只会报undefined)

  PS:undefined值派生自null值,用==进行判断时2者相等

  3.4.5 NAN

    isNaN()如果里面是数字则为false;否则为true;(0除以0位NaN);

  3.4.6 string类型

    转义序列被作为一个字符进行解析;

    字符串的特点:

    (1)ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,他们的值就不能改变。要改变一个变量的保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值得字符串填充该变量,操作流程:1创建一个能够容纳总字符数量的新字符串;2填充要填充的字符;3销毁原来的字符。(该过程发生在后台)

   转换为字符串:

     1:toString()方法(除了null和undefined没有这个方法,其它的多有);

  3.4.7 object类型

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

    Object的每个实例多具有下列属性和方法。

    1:construct:保存着用于创建当前对象的函数。

    2:hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在;

    3:isPrototyoeOf(object):用于检查传入的对象是否是当前对象的原型

    4:propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。与hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定。

    5:toLocaleString();返回对象的字符串表示,该字符串与执行环境的地区的地区对应

    6:toString();返回对象的字符串表示

    7:valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

    PS:ECMAScript中Object是所有对象的基础,因此所有对象多具有这些基本的属性和方法。

    3.5.8 条件操作符(三元表达式也叫三目表达式)

javascript高级编程3第三章:基本概念 本章内容 语法 数据类型 流控制语句 函数的更多相关文章

  1. JavaScript高级程序设计(第三版)第四章 变量,作用域和内存问题

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型值和引用类型值具有以下特点: 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 从一个变量向另一个变量复制 ...

  2. JavaScript高级程序设计(第三版)第五章 引用类型

    5.2 Array类型 var colors = new Array(3); //创建一个包含3项的数组 var names = new Array("Greg"); //创建一个 ...

  3. javascript高级编程笔记01(基本概念)

    1.在html中使用JavaScript 1.  <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选, ...

  4. [书籍翻译] 《JavaScript并发编程》第三章 使用Promises实现同步

    本文是我翻译<JavaScript Concurrency>书籍的第三章 使用Promises实现同步,该书主要以Promises.Generator.Web workers等技术来讲解J ...

  5. 《JAVASCRIPT高级程序设计》第三章

    <JAVASCRIPT高级程序设计>第三章主要讲述了这门语言的基础概念,内容多而浅,通过思维导图可以帮助我们很好的理清脉络. js函数使用function关键字来声明,以下是一个简单的例子 ...

  6. 赠书《JavaScript高级程序设计(第三版)》5本

    本站微博上正在送书<JavaScript高级程序设计>走过路过的不要错过,参与方式,关注本站及简寻网+转发微博:http://weibo.com/1748018491/DoCtp6B8r ...

  7. JavaScript高级编程———JSON

    JavaScript高级编程———JSON < script > /*JSON的语法可以表达一下三种类型的值 简单值:使用与javas相同的语法,可以在JSON中表达字符串.数值.布尔值和 ...

  8. JavaScript高级程序设计(第三版)学习,第一次总结

    Array类型 var arr = []; arr.length; //返回数组元素个数 改变length可以动态改变数组大小 检测数组 instanceof可以检测某个对象是否是数组,限制:只能是一 ...

  9. JavaScript高级编程———基本包装类型String和单体内置对象Math

    JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...

随机推荐

  1. 《玩转D语言系列》三、轻松大跃进,把它当C语言先用起来

    前面说过,本系列文章的前提是您懂C语言,懂面向对象中的一些概念,如果没有任何变成基础,从零开始学习D语言将是一个漫长的过程,因为很多概念都要重新诠释,让一个没有基础的人经过漫长的学习过程,然后还找不到 ...

  2. Coursera台大机器学习课程笔记7 -- Noise and Error

    本章重点:  简单的论证了即使有Noise,机器依然可以学习,VC Dimension对泛化依然起作用:介绍了一些评价Model效果的Error Measurement方法. 一论证即使有Noisy, ...

  3. 利用spring boot创建java app

    利用spring boot创建java app 背景 在使用spring框架开发的过程中,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置和复杂的bean依赖关系,特别是在使用mvc的时候各 ...

  4. [osx] android studio下修改avd的hosts文件

    1. 启动avd 安装/启动avd就不说啦,可以直接在android studio里面操作的 2. 进入adb目录 当然是打开终端来敲命令啦. cd /Users/birdylee/Library/A ...

  5. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数015,vector矢量

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数015,vector矢量 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“p ...

  6. jquery 获取父窗口的元素 父窗口 子窗口

    一.获取页面元素 取父窗口的元素方法:$(selector, window.parent.document); 那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent ...

  7. 在活动中使用Menu

    1.在res下创建menu普通文件夹,在menu下创建名为main的Menu资源文件 2.在menu组件下创建item组件:资源id,title标题名称 3.覆盖活动中的onCreateOptions ...

  8. 【转载】调试利器 autoexp.dat

    转载:http://www.cppblog.com/flyinghare/archive/2010/09/27/127836.html autoexp.dat入门(调试时自定义变量显示) VC在调试状 ...

  9. android 使用jdbc1.3.0 操作 sql server

    String connectDB = "jdbc:jtds:sqlserver://172.16.1.15:1433;DatabaseName=YanBu";// 连接字符串换成这 ...

  10. .Net发出图片Request请求

    Stream reader = null; //可能是外部链接 if (imgUrl.ToLower().StartsWith("http://")) { var request ...