JavaScript 基础 (变量声明, 数据类型, 控制语句)

创建: 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 返回后面带的参数,并结束函数

 

  

 

转载于:https://www.cnblogs.com/lancgg/p/8281726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值