《JavaScript 高级程序设计》总结
一、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 高级程序设计》总结的更多相关文章
- 《FLASH PROGRAMMING 那些事》总结
注明来自 http://www.ssdfans.com/?p=5589 以MLC为例: 对FGF(Floating Gate Flash)技术的,MLC programming一般分两步走:先prog ...
- 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 ...
- [原创] Keil uVision5 下载程序 add flash programming algorithm选项缺少需要的算法解决办法
MDK开发环境从V4升级到V5后,支持包不再是集成到开发环境当中,而是封装在PACK中,需要自行安装,比较麻烦. 搭建MDK开发环境以及破解的方法,在前面的文章中有详细说明,这里不再赘述,有兴趣的可以 ...
- 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 ...
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash X ...
- 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 ...
- Error:Flash Download Failed-"Cortex-M3"
Error:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/H ...
- STM32F4读写内部FLASH【使用库函数】
STM32F4Discovery开发帮使用的STM32F407VGT6芯片,内部FLASH有1M之多.平时写的代码,烧写完之后还有大量的剩余.有效利用这剩余的FLASH能存储不少数据.因此研究了一下S ...
- Flash Download Failed-"Cortex-M3"
rror:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/HW ...
- Stm32_调试出现 Error:Flash Download Failed-"Cortex-M3"
rror:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/HW ...
随机推荐
- PHP 获取客户端 IP 地址
先来了解一个变量的含义: $_SERVER['REMOTE_ADDR']:浏览当前页面的用户计算机的ip地址 $_SERVER['HTTP_CLIENT_IP']:客户端的ip $_SERVER['H ...
- nginx 日志记录 自定义详解(分析上报用)
nginx 日志记录 自定义详解 1.log_format 普通格式 log_format main '$remote_addr - $remote_user [$time_local] $req ...
- Spark Streaming job的生成及数据清理总结
关于这次总结还是要从一个bug说起....... 场景描述:项目的基本处理流程为:从文件系统读取每隔一分钟上传的日志并由Spark Streaming进行计算消费,最后将结果写入InfluxDB中,然 ...
- 2017Facebook面试题改编“一面砖墙 ”
题目:一面砖墙 这道题改编自网上Facebook去年的一道面试题,是hihoCoder的1494题(https://hihocoder.com/problemset/problem/1494) 这道题 ...
- 03以太网帧结构(链路层 IEEE802.3)
OSI七层模型:从底往上记(研究细致时用) 物理层:单位bit,字节byte,同轴电缆,光纤,二进制,比特流 数据链路层:帧,16进制,0-9,A-FMac地址->全网唯一性 mac地址 ...
- java中stream部分笔记
Stream流表面上看起来与集合类似,允许你转换和检索数据.然而,两者却有显著的不同1.流不存储元素.它们存储在底层的集合或者按需生成2.流操作不改变他们的源数据.例如filter方法不会从一个新流中 ...
- Java设计模式(3)——创建型模式之抽象工厂模式(Abstract Factory)
一.概述 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式.抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象. UML图: 其他的过多概念不再 ...
- Prism for WPF 搭建一个简单的模块化开发框架(四)异步调用WCF服务、WCF消息头添加安全验证Token
原文:Prism for WPF 搭建一个简单的模块化开发框架(四)异步调用WCF服务.WCF消息头添加安全验证Token 为什么选择wcf? 因为好像wcf和wpf就是哥俩,,, 为什么选择异步 ...
- java web 开发模式
1.Model1 javaBean+jsp:jsp直接操作数据库,不安全,开发维护复杂 2.Model2:MVC 原理:把Model1的操作javaBean操作抽取为控制层 实现:控制层使用servl ...
- BZOJ1303_中位数图_KEY
题目传送门 较水,开两个桶即可. 题目可以理解为,将大于B的数看为1,小于B的数看为-1,将以B这个数为中位数的序列左右分为两半,加起来为0. code: #include <cstdio> ...