1.数据类型(number,boolean,string,null,undefined,symbol,object)

es是动态语言,弱类型语言,虽然先声明了变量,但是变量可以重新赋值任意类型
弱类型,不需要强制类型转换,会隐士转换类型
Nan:not a number转换数字失败
总结:
1。遇到字符串,+号就是拼接字符串,所有非字符串隐士转换为字符串
2。如果没有字符串,加号把其他所有类型都当作字符串处理,非数字类型隐式转换为数字,undefined特殊,因都没有定义值。所以事一个特殊数字Nan
3。如果运算符事逻辑运算符,短路符,返回就是短路时的类型,没有隐士转换
++和--
单目运算符,代表变量自增,自减
i++先用i,用完之后i在自增加1
++i ,i先自增,在使用i
单目运算符优先级高于双目运算符 三元运算符:
条件表达式?真值:假值 逗号操作符
js运行多个表达式写在一起 比较运算符
console.log(300 == '300') //true 宽松比较
console.log(300==='300')//false 严格比较
使用宽松比较时,尽可能确保比较的类型相同,否则会引起隐士转换,隐士转换的规则不好把控
不知道类型是否一致,但是一定要相等,请使用===,!==
instanceof:判断是否指定类型
typeof:返回类型字符串
delete:删除一个对象(an object)或一个对象的属性,或者一个数组中的某个键值
in:如果指定的属性在对象内,则返回true
var a = new String('b')
console.log(a instanceof String) //true
console.log(typeof(a)) //obhect
console.log(String instanceof Object) //true
console.log(typeof(String)) //function
var trees = new Array('rebwood','bay','cedar','ok','maple')
console.log(0 in trees) //数组的索引
console.log('length' in trees) //true ,对象属性返回true  

2.生成器表达式

function *inc()
{
let i = 0
let j = 7
while (true){
yield i++
if (!j--) return 100
}
}
gen = inc()
for (i=0;i<10;i++)
{
console.log(gen.next())
}
/*
{ value: 0, done: false }
{ value: 1, done: false }
{ value: 2, done: false }
{ value: 3, done: false }
{ value: 4, done: false }
{ value: 5, done: false }
{ value: 6, done: false }
{ value: 7, done: false }
{ value: 100, done: true }
{ value: undefined, done: true }
每次调用next()方法返回一个对象,这个对象包括2个属性value和done
values属性标识yield的返回值,done表示bool类型,done事false表示还有yield要执行
如果执行完或者return后done变成true
*/

 3.控制语句

js使用大括号构成语句块
es6之前语句块没有作用域的,从es6开始支持作用域,let只能在块的作用域内可见
function hello(){
let a = 1
var b = 2
c = 3
}
if (1){
let d = 4
var e = 5
f = 6
if (true){
console.log(d) //4 上层变量对下层可见
console.log(e) //
console.log(f) //
g = 10
var h = 11
}
}
// console.log(a) //不可见
// console.log(b) //不可见
// console.log(c) //不可见
// console.log(d) //不可见
console.log(e) //var可见
console.log(f) //隐士声明,可见
console.log(g)
console.log(h)

 流程控制

if (cond1){
pass
}
else if (cond2){
pass
}
else{ }
/*
条件的false等效
false,undefined,null ,0,Nan '',空数组,空对象
*/
switch (expression){
case label_1:
statements_1
[break]
case label_2:
statement_2
[break]
default:
statements_def
[break]
}
/*
break可选,引出穿透问题,一定要在适当的case中使用break,否则匹配case后
会继续向下执行
*/
for(let i=0;i<10;i++){
console.log(i)
} for (var x=0,y=9;x<10;x++,y--){
console.log(x*y) }
for (let i=0;i<10;i+=3){
console.log(i)
}
let x = 10
while (x--){
console.log(x)
}
//条件满足,进入循环,条件为真继续循环 do{
console.log(x)
}while(x++<10)
//先进入循环,然后判断,为真就继续循环

for,,,,in循环

let arr = new Array(10,20,30,40)

for (let x in arr){
console.log(x) //返回索引
} for (let index in arr){
console.log(`${index}:${arr[index]}`) //插入值返回value
}
let obj = {
a:1,
b:'python',
c:true
}
// console.log(obj.c)
// console.log(obj['a'])
for (let x in obj){
console.log(x) //return key
}
for (let key in obj)
{
console.log(`${key}:${obj[key]}`)//return key:valye
}
let arr = [1,2,3,4,5]
let obj = {
a:1,
b:'python',
c:true
} for (let x of arr){
console.log(x)
} for (let key of obj){
console.log(key) //异常不可以迭代字典
}

JavaScript之基础语法整理的更多相关文章

  1. JavaScript编程:javaScript核心基础语法

    1.javaScript核心基础语法: javaScript技术体系包含了5个内容:          1.核心语言定义:          2.原生对象和雷子对象:          3.浏览器对象 ...

  2. JavaScript的基础语法,你真的了解吗?

    这篇文章是在我们熟悉了JS的基础语法后,很少有人去关注的一些细节部分.如果掌握了某些细节也许会对代码的改善有着非凡的作用.也许会使我们的代码更严谨,更高效. 1.if语句的条件 if条件中,括号里是布 ...

  3. JavaScript 正则表达式基础语法

    前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...

  4. JavaScript的基础语法

    对于Javascript的而言没有数据类型的全部都是通过var来定义创建的.比如: <!DOCTYPE html> <html> <head> <meta c ...

  5. JavaScript数据类型 —— 基础语法(2)

    JavaScript基础语法(2) 数据类型 js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object) ...

  6. JavaScript的基础语法及DOM元素和事件

    一,JavaScript是什么? 1,JavaScript简称:js,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行.主要用来实现网页的动态效果,用户交互及前后端的数据传输等. 2,J ...

  7. JavaScript之基础语法

    第一章 javascript语法 一, js代码的引入 方式一:在html页写js代码 <script> alert('hello,world') </script> 方式二: ...

  8. 1.JavaScript 教程:基础语法

    简介: JavaScript web 开发人员必须学习的 3 门语言中的一门: HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为 用法: (1)HTML 中的脚本 ...

  9. JavaScript核心基础语法

    1 什么是JavaScript? 是一种嵌入在网页中的程序段. 是一种解释型语言,被浏览器解释执行. 由Netscape发明,ECMA(欧洲计算机制造商协会)将其标准化. JavaScript借用了J ...

随机推荐

  1. 翻转 -- CodeForces - 56B

    题目链接: https://cn.vjudge.net/problem/25167/origin 思路: 这是一道水题,但是一开始思路有点问题.. 1000的数据大小,直接暴搜左开始第一个与i不等的下 ...

  2. Pok 使用指南

    Pok 使用指南 POK 是一个开源的符合ARINC653的操作系统,因为一些原因,我要开始接触一个全新的领域,再此希望记录下每天点滴进步,同时也欢迎指正吧. 目前先简单说明POK的使用指南 获取源码 ...

  3. 修改终端terminal

    修改终端路径 显示的颜色 (1)在home目录中,新建 .dircolors: $vi .dircolors 输入下面内容 DIR 00;36 保存退出. (2)在 .bashrc文件中 $vi .b ...

  4. ubuntu下vim使用方法

    按下's'可对文本进行编辑 按下'ESC'再输入':',之后输入wq是保存再退出,输入q是直接退出.如果是只读read only模式则需要输入'wq!'保存退出.

  5. [BZOJ1984][Luogu4315]月下“毛景树”

    题目大意 给出一棵 n 个点的无根树,待边权,要求维护一下操作: 修改某条边的边权 修改点 u 到点 v 路径上所有边的边权 点 u 到点 v 路径上所有边的边权加上某个值 查询点 u 到点 v 路径 ...

  6. css样式的六种选择器

    css常用的选择器有: 1.标签选择器: 标签选择器,这种选择器影响范围大,建议尽量应用在层级选择器中. 如: *{margin:0;padding:0}   /* 影响所有的标签 */ div{co ...

  7. java jdbc操作数据库通用代码

    1.准备工作 1> 新建一个配置文件,名为jdbc.properties将其放入src中 2>在项目中导入jdbc驱动,注意连接不同的数据库,所用到的驱动是不一样的,这些在网上都能找到 具 ...

  8. 正则RegExp序2

    1.var reg=/./     var reg=/\./ 前者代表任意一个字符而后面代表这个字符串中得有一个. 2.?的使用 如果单独的一个字符后面带? var reg=/\d?/ /n?/ 代表 ...

  9. 反射RelectionDemo

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  10. 构建Dubbo-2.0.7源码

    一. 下载源码: git clone --branch dubbo-2.0.7 https://github.com/apache/incubator-dubbo.git 二. 下载依赖 git cl ...