一、JS基本概念

1、命名规则

    • 变量名区分大小写(test和Test是两个不同的变量名),标识符采用驼峰命名格式,即:第一个字母小写,剩下的每个有意义的单词首字母大写;
    • 标识符第一个字符必须是以字母、_ 、$开始;
    • 标识符及变量名不能与关键字保留字一样;
    • 其他字符可以是数字、字母、下划线、或$。

2、注释

  • //单行注释
  • /**/多行注释

3、严格模式

支持严格模式的浏览器有:IE10+、Firefox 4+、Safari 5.1+、Opera 12+和Chrome。

用"use strict";此句话加在顶部告诉支持JS的引擎切换到严格模式。也可以在方法中制定函数在严格模式下执行。

ex: function doSomething(){

    "use strict";

     //函数体

  }

4、变量

定义变量用var操作符,ex:var message;这里定义了一个message的变量

全局变量在方法外面定义 或 不写var(方法里外)这个,由于不写var定义的全局变量难以维护、且不会马上定义而导致混乱所以一般情况下不推荐使用。

var message,found=flase,age=21,name="zhangsan";可以一句话用逗号将变量隔开同时定义多个能量,可以初始化也可以不初始化。

5、数据类型

五大基本数据类型:Undefined、Null、Boolean、Number、String

用typeof操作符检测给定变量的数据类型,返回值如下:

undefind——值未定义

boolean——值是布尔值

String——值是字符串

number——值是数值类型

object——值是对象或者是null

function——值是函数,例如正则表达式

typeof是一个操作符不是函数,所以typeof()后面的括号不是必须的,所以typeof的格式是:

var msg="this is a cat";

typeof msg;  //"string"

typeof(msg);  //"string"

typeof(21);   //number

5.1、Undefined类型

出现Undefined的情况:定义了变量为赋值,

例如:1、var msg;

alert(msg);//undefined

2、alert(message);//对上为声明过的变量会报错误

5.2、Null类型

      null值表示空对象指针,所以用typeof会返回odject。如果定义一个变量用于将来保存对象,可先赋予null值,

这样在 用的时候只需判断Null值便可以知道是否已经报存了一个对像的引用。ex:

      var car=null;

      if(car!=null){

        //操作体

       }

        null值虽然派生自undefined,但用法却不同,undefined不用在书面上定义,它仅仅知道是否有这样一个变量或

     对象,而null用于意在保存而未保存的对象(例如:var car=null;),这样不仅体现空指针惯例,也有利于区分

     null和undefined.

5.3、Boolean类型

5.4、Number类型

5.5、String类型

5.6、Object类型

《JavaScript 高级程序设计》总结的更多相关文章

  1. 《FLASH PROGRAMMING 那些事》总结

    注明来自 http://www.ssdfans.com/?p=5589 以MLC为例: 对FGF(Floating Gate Flash)技术的,MLC programming一般分两步走:先prog ...

  2. Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors

    Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...

  3. [原创] Keil uVision5 下载程序 add flash programming algorithm选项缺少需要的算法解决办法

    MDK开发环境从V4升级到V5后,支持包不再是集成到开发环境当中,而是封装在PACK中,需要自行安装,比较麻烦. 搭建MDK开发环境以及破解的方法,在前面的文章中有详细说明,这里不再赘述,有兴趣的可以 ...

  4. Turtelizer 2 provide JTAG Flash programming and debugging of ARM based boards via USB

    http://www.ethernut.de/en/hardware/turtelizer/ Introducing Turtelizer 2 Overview Turtelizer 2 had be ...

  5. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash X ...

  6. Programming Internal Flash Over the Serial Wire Debug <SWD> Interface -- EFM32

    1 Debug Interface Overview 1.1 Serial Wire Debug Serial Wire Debug (SWD) is a two-wire protocol for ...

  7. Error:Flash Download Failed-"Cortex-M3"

    Error:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/H ...

  8. STM32F4读写内部FLASH【使用库函数】

    STM32F4Discovery开发帮使用的STM32F407VGT6芯片,内部FLASH有1M之多.平时写的代码,烧写完之后还有大量的剩余.有效利用这剩余的FLASH能存储不少数据.因此研究了一下S ...

  9. Flash Download Failed-"Cortex-M3"

    rror:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/HW ...

  10. Stm32_调试出现 Error:Flash Download Failed-"Cortex-M3"

    rror:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/HW ...

随机推荐

  1. Spring Cloud 微服务入门(二)--Spring Cloud 架构

    Spring Cloud整体核心架构:Rest服务,在Spring Cloud配置过程中,都是遵循Rest风格规范,在Rest处理中,必不可少两个对象端:服务的提供者(provider)和服务消费者( ...

  2. JavaScript 中 Property 和 Attribute 的区别详解

    property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(property:属性,attribute:特性),但实际上,二者是不同的东西,属于不同的范畴. property ...

  3. Redis(九):Redis的Java客户端Jedis

    Redis的Java客户端Jedis导航目录: 安装JDK 安装Eclipse Jedis所需要的Jar包 Jedis常用操作 JedisPool 安装JDK tar -zxvf jdk-7u67-l ...

  4. idea配置SpringBoot热部署之自动Build

    一.pom.xml文件导入所需依赖文件 SpringBoot热部署插件 <dependency> <groupId>org.springframework.boot</g ...

  5. JVM基础知识及拓展

    我们可以吧JVM的基本结构分为四块:类加载器.执行引擎.运行时数据区和本地接口.一般来说Java程序在JVM中的执行流程如下: ①.首先我们会利用javac命令将我们所编写的.java源代码文件变异成 ...

  6. Redis系列化方式有哪些?哪个系列化性能最好?

    Redis系列化方式有JDK系列化.JSON系列化.XML系列化等多种.我专门测试过,在我的笔记本电脑上保存5万条User对象到Redis,JDK系列化方式平均要15秒,JSON系列化方式只要13秒多 ...

  7. mongoengine中queryset触发网络访问机制剖析

    背景 最近新上线的一个服务,偶尔会有超时告警,其主要逻辑仅仅只是简单的读/写mongodb,而且服务上线初期,流量并不大,因而理论上来说,每次请求都应该很快才对,事实上分析日志也证实90%以上的请求都 ...

  8. OracleLinux上安装Oracle11g图解

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 [作者 高健@博客园  luckyjackgao@gmail. ...

  9. 优步UBER司机全国各地奖励政策汇总 (2月15日-2月21日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. Java String源码解析

    public final class String implements java.io.Serializable, Comparable<String>, CharSequence { ...