创建: 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. vue 生命周期钩子

    每个vue实例被创建时都会经历一系列初始化的过程,像是一个生命从无到有的过程,所以叫生命周期,而这个过程都有对应的不同阶段,也就对应了生命周期不同的钩子函数,这些生命周期函数,作为vue实例的属性使用 ...

  2. 升级到Scriptcase 8.0的注意事项

    Scriptcase的最新版本号v8.0已经正式公布了,因为国外下载较慢,我们在百度云盘创建了下载地址: http://pan.baidu.com/s/1qWwh6bi (Windows可运行文件)大 ...

  3. wpf Style也继承(包含内部定义事件)

    如何在既定皮肤下为某个style添加内容是我今天碰的问题,皮肤往往是对全局control进行设置的,当然这就无法满足某个个性十足的“另类”了,比如当使用DataGridCheckBoxColumn时, ...

  4. 1 Maven简介

    一.构建(build)     清理.编译.测试.打包.部署等一系列操作. 二.maven介绍:     maven是一个强大的构建工具,能够帮助我们自动化构建过程:从清理(clean).编译(com ...

  5. php设计模式之单例模式实例(设计mysqli连接数据的数据处理类)

    一直在研究php的设计模式,但是没有亲历使用过,所以还是一知半解,通过几天的学习终于对php的单例设计模式稍稍的有些了解,特此写出一个数据库处理类(只涉及到简单的原理),以便自己以后方便查阅,至于其他 ...

  6. LwIP移植uCos+stm32f407

    LwIP同操作系统一起工作的时候模型如下: 1.TCP/IP协议栈和应用程序以分离的任务运行 2.应用同协议栈沟通是通过API函数调用(API函数调用事实上就是通过OS自带的进程间通信机制,由应用程序 ...

  7. 关于oracle批量插入数据遇到的问题

    截取部分日志信息: 2015-09-01 14:48:47,132 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReade ...

  8. codeforces B. Eugeny and Play List 解题报告

    题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...

  9. Java网络编程InetAddress类

    InetAddress用来代表IP地址.一个InetAdress的对象就代表着一个IP地址, getByName(String host):在给定主机名的情况下确定主机的 IP 地址,主机名可以是机器 ...

  10. LA-3942(trie树+dp)

    题意: 给出一个由多个不同单词组成的字典,和一个长字符串,把这个字符串分解成若干个单词的连接,问有多少种方法; 思路: dp[i]表示s[i,L]的方案数,d[i]=∑d[j];s[i,j-1]是一个 ...