创建: 2017/09/16

更新: 2017/09/24 更改标题 【JavaScript 概要】-》 【JavaScript 基础】
完成: 2017/09/25
更新: 2017/10/09 补充函数声明也会上卷 
更新: 2018/01/22 加红函数也会上卷
                         补充内置Obejct等,完善欠缺的内容, 把标题列加粗,字体放大
更新: 2019/02/19 把Object, 函数, Array三小块移除到新博文并删除迁移部分(链接已附在此条相关文本上) 
           从【JavaScript 控制类语法】迁入全部内容相关内容并重构
         改变文档结构, 标题单起一行
         修改标题 【JavaScript 基础】 -> 【JavaScript 基础  (变量声明, 数据类型, 控制语句)】
更新: 2019/02/26 补充for/in相关
         纠正插值方法 `${}`
          
 
待完成事项: TODO
注释
 

所有文末加;

 单行注释

// 单行注释
 多行注释

/*
多行注释
*/
变量声明
 var
var sum;

注:无论声明在哪里,都最先执行
     
重复声明的话只看第一个(因为全部最先执行,所以没有影响)

 let
let sum;

类似c语言中的变量
 和var的区别

 如果有代码块,则作用域为代码块内部(对纯代码块也有效)  {let a = "测试";}
 print(a); //会报错
 变量声明按行执行,不是最开始执行  print(a);
 var a = 21;
 不能重复声明   let a;
 let a; //会报错
 不上卷(不会预先全部声明,遇到代码处才声明)  
   
   
   
   
   
   
 const
const sum; 

let的常数版

 值型  不能变更
 参照型  不能变更object,但是可以变更object的属性(property)
   
   
   
   
   
   
   
   
   
   
数据类型
 值型
 数值

没有整数浮点数的区别们,都是64位浮点数(double)
 数组的索引已经比特运算作为long int(32位)
 符号的记法

 分类  写法  说明
 整数   10进制
 123
 正常写
 16进制 ES6
 0x2a
 0x开头
 8进制 ES6
 0o12
 0o开头
 2进制
 0b110
 0b开头
   
   
 浮动小数点数  整数.小数   3.14
 .小数 
 .123
 整数部分为0可省略
 相当于0.123
 科学计数法
 6.02e21
 1.123E-12
 e和E没有区别
   
   
   

特殊值

 分类  记法  说明
 全局变量   Infinity   无穷大
 NaN  Not a Number
 不定值
    
   
   
   
   
   
   
   
 Number的属性   Number.POSITIVE_INFINITY  正无穷
 Number.NEGATIVE_INFINITY  负无穷
 Number.MAX_VALUE  能用的最大值
 Number.MIN_VALUE  能用的最小值
 Nunmber.NaN  不定值
 Number.EPSILON
 ES6
 一个特定量
 Number.MIN_SAFE_INTEGER
 ES6
 -9007199254740991e-16
 Number.MAX_SAFE_INTEGER
 ES6
 9007199254740991
   
   

 字符串

"..."或者'...'包围
 插值

`this is a test. ${...}`

转义符号

 \0  空字符
 \b  back space(退格)
 \t  tab
 \n  换行 
 \v  垂直tab
 \f  换页 
 ?
 \r  回到行开始
 \'  
 \"   
 \\  
 \xXX  2位的16进制数,表示拉丁文字
 \uXXXX  4位16进制数表示Unicode文字
 \u{XXXXXX}  16进制的编码表示Unicode文字
   
   
   
   
   
   
   
 布尔值

true,false

 特殊值

undefined, null
 注意: undefined不能用来代入

 symbol  和其他的都不一样的值,相当于哈希值
 生成
    var sym = Symbol()
 注意: 每次呼出Sybmol()得到的值都不一样 
 带参数  var sym =
Symbol("test") 
 参数作为符号的描述
 呼出描述  用toString()
 例: sym.toString()
 以字符串为种子生成符号  var sym = Symbol.for("...")
 注: 同一字符串的符号完全相同
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 符号

TODO p39
 占位符 ${...}

 模板

TODO p41 第八章

 
 
 
 
 对象(object)
 类似于Swift的词典,c的哈希表与值的组合
 参照型,共有一个
 
 
 
 
 
 
 
 
控制语句  
 条件句
 if/else

 if () {
...
}else if (...) {
...
}else {
...
}
 switch
switch(...) {
case 1:
...;
break;
case 2:
...;
break;
case 3:
...;
break;
default:
...;
}
 try/catch/finally  
 循环句
 while

 while(...) {
...
...
}
 do/while

 do {
...
...
} while(...)
 for

//  注: 三个条件可以随意省略
for(...; ...; ...) {
...
...
}
 for/in

注: 获取的是属性名的字符串(获取属性用obj["name"])

Object.prototype等内部的实例属性/方法的enumerable都是false

 for(var i in sample) { // 可以用已有的变量代替var i
...
}

· 有些库对Object.prototype添加方法时enumerable没设为false, 避免误操作的方法

for (var p in obj) {
if (!obj.hasOwnProperty(p)) { continue; }
...
} // 或者
for (var p in obj) {
if (typeof(p) === "function") { continue; }
...
}
 for/of  TODO: 8
 跳跃句
 标签

标签名: statement
 只有break和continue能用到标签

 

 loop: while(...) {
...
}
 break  只有switch和循环文可用
 break; 跳出当前循环
 带标签用法: break 标签名;
 continue  只有循环能用
 continue;
 continue 标签名;
 return  返回后面带的参数,并结束函数
   

JavaScript 基础 (变量声明, 数据类型, 控制语句)的更多相关文章

  1. javascript的变量声明、数据类型

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. javascript的变量声明和数据类型

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. JavaScript基础知识:数据类型,运算符,流程控制,语法,函数。

    JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...

  4. JavaScript 基础类型,数据类型

    1.基础类型:undefined,null,Boolean,Number,String,Symbol Undefined类型:一个没有被赋值的变量会有个默认值undefined; Null类型:nul ...

  5. JavaScript中变量声明有var和没var的区别

    JavaScript中变量声明有var和没var的区别 JavaScript中有var和没var的区别 Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (functi ...

  6. 【粗糙版】javascript的变量、数据类型、运算符、流程结构

    本文内容: javascript的变量 javascript的数据类型 javascript的运算符 javascript的流程结构 首发日期:2018-05-09 javascript的变量 创建变 ...

  7. 前端知识体系:JavaScript基础-变量和类型

    前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...

  8. JavaScript基础——变量、语句、注释

    一.变量的命名规则 1.变量名由数字.字母.下划线组成 2.变量名的首字母不能是数字,只能是字母或者下划线 3.不能使用关键字和保留字作为变量名 4.变量严格区分大小写,例如在JavaScript中o ...

  9. 浅谈Java和JavaScript中变量和数据类型的区别

    对于一门编程语言的学习,如果第一步是安装环境,那么第二步一定是学习这门语言的基本规则,变量和数据类型则首当其冲 JavaScipt作为一个蹭Java热度而命名的语言,在很多方面和Java也有一定的相似 ...

随机推荐

  1. 分布式开源调度框架TBSchedule原理与应用

    主要内容: 第一部分 TBSchedule基本概念及原理 1. 概念介绍 2. 工作原理 3. 源代码分析 4. 与其它开源调度框架对照 第二部分 TBSchedule分布式调度演示样例 1. TBS ...

  2. 搭建mongoDB 配置副本集 replSet

    mongodb的master_slave和ReplSet是很常见的两种构架: 下面记录下搭建mongodbReplSet 的过程: 首先,进入到一个指定目录下 >cd /opt 下载mongod ...

  3. Linux 操作系统中的进程结构

    前言 在 Linux 中,一个正在执行的程序往往由各种各样的进程组成,这些进程除了父子关系,还有其他的关系.依赖于这些关系,所有进程构成一个整体,给用户提供完整的服务( 考虑到了终端,即与用户的交互 ...

  4. struts2的核心和工作原理 (转)

    转自--------http://blog.csdn.net/laner0515/article/details/27692673 在学习struts2之前,首先我们要明白使用struts2的目的是什 ...

  5. 对于atomic nonatomic assign retain copy strong weak的简单理解

    atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作 1)atomic 设置成员变量的@property属性时,atomic是默认值,提供多线程安全 在多线程环 ...

  6. php命名空间使用总结

    从php5.3开始可以使用命名空间,命名空间是为了防止命名 空间的元素重复而使用的.命名空间的元素包括:class.function.const(从php5.3开始在类外部也可以用const定义常量, ...

  7. nyoj 1030 hihocoder 1338

    题目链接1: 点这里打开. 题目链接2:   点击打开链接 思路:dp,dp[i][j] 表示某个人在区间 i,j上的得分. sum数组表示前 n 项和, num 数组用来存输入的数字. 因为取数字是 ...

  8. uglifyjs2全局混淆

    从git克隆uglifyjs2源码后,进入目录: npm link 编译并安装uglifyjs2成功,就可以直接调用uglifyjs命令了.但是在进行全局混淆时出现了问题,虽然指定了文件topvar. ...

  9. Opencv— — kaleidoscope Filter

    // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...

  10. shell之sort和uniq 及wc 的使用

    文本排序:sort       -n:数值排序       -r: 降序       -t: 字段分隔符       -k: 以哪个字段为关键字进行排序       -u: 排序后相同的行只显示一次 ...