18·灵魂前端工程师养成-JS语法入门

2019-05-06 分类:JavaScript, 前端开发 阅读(50) 评论(0)

-曾老湿, 江湖人称曾老大。
-笔者QQ:133411023、253097001
-笔者交流群:198571640
-笔者微信:z133411023


-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。
-擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。
-devops项目经理兼DBA。
-开发过一套自动化运维平台(功能如下):

1)整合了各个公有云API,自主创建云主机。
2)ELK自动化收集日志功能。
3)Saltstack自动化运维统一配置管理工具。
4)Git、Jenkins自动化代码上线及自动化测试平台。
5)堡垒机,连接Linux、Windows平台及日志审计。
6)SQL执行及审批流程。
7)慢查询日志分析web界面。


JavaScript版本


历史版本

JS最重要的版本是ES6

历史版本:
1.ES3,IE6支持,总评价:辣鸡
2.ES5,还是辣鸡
3.ES6,大部分浏览器都支持,一半辣鸡,一半好
4.ES2019 与 ES6 差别不大

JS之父对JS的评价:
它的优秀之处并非原创,它的原创之处并不优秀。

JavaScript的语法-变量


表达式与语句

表达式:

1+2表达式的值为3
add(1,2)表达式的值为函数的返回值
console.log表达式的值为函数本身
console.log(3)表达式的值为多少?

语句:

var a = 1 是一个语句

二者区别
表达式一般都有值,语句可能有也可能没有
语句一般会改变环境(声明,赋值)

**注意:
JS大小写敏感
大部分空格都是没有意义的
大部分回车也是没有意义的
但是,有一个地方不能加回车,那就是return后面


标识符

规则:第一个字符可以是Unicode字母$_中文,后面可以是任意包括数字

变量名是标识符

var _=1
var $=2
var ______=6
var 你好='hi'

JavaScript的语法-条件语句


if判断

if语句:

if(表达式){语句1}else{语句2}

变态情况:

1.请问,下面这段代码执行的结果是啥?

a = 2

if ( a = 1 ){
    console.log('a是1')
} else {
    console.log('a不是1')
}

2.请问,下面这段代码执行的结果是啥?

a = 1

if ( a === 2 )
    console.log(a)
    console.log('a等于2')

推荐写法:

if(表达式){
    语句
} else if (表达式){
    语句
} else(表达式){
    语句
}

switch语句

switch语句 类似于shell中的 case语句

switch (fruit){
    case "banana":
        //...
        break;
    
    case "apple":
        //...
        break;

    default:
        //...
}

上面是JS,下面是shell

case fruit in
    "apple")
        //...
        ;;
    "banana")
        //...
        ;;
    *)
        //...
        ;;

三元表达式

问号冒号表达式

表达式1?表达式2:表达式3

用来简化 if 和 else 中都只有一个语句的时候

function max(a,b){
  if (a>b) return a;
  else return b;
}

function max(a,b){
  return a>b ? a:b
}

短路逻辑&&和||
// 和Shell一样,就是前面条件如果为真就继续执行后面的

console && console.log && console.log('存在')

ls -l && ifconfig

is -l && ifconfig
// 和Shell一样,就是前面条件如果为假就继续执行后面的

a = a || 100

ls -l || ifconfig

is -l || ifconfig

JavaScript语法-循环


while循环

语法:

while (表达式){语句}

// 判断表达式真假
// 当表达式为真,执行语句
// 当表达式为假,执行后面的内容
// 执行完再次判断表达式的真假
var i = 0

while (i<10){
  console.log(i)
  i = i+1
}

死循环

while(true){}
var a = 0.1
while(a !== 1){
    console.log(a)
    a = a+0.1
}

for循环

语法:

for(语句1;表达式2;语句3){
    循环体
}

//先执行语句1
//然后判断表达式2
//如果为真,执行循环体,然后执行语句3
//如果为假,直接退出循环,执行后面的语句
for (var i=0;i<5;i++){
  console.log(i)
}

for (var i=0;i<5;i++){
    setTimeout(()=>{
        console.log(i + '随机数' + Math.random())
    },0)
}

break:退出当前循环
continue:继续当前循环

以上和Shell语法一毛一样。

关于 曾老湿
我只是一个躲在角落里瑟瑟发抖的小运维,随时准备给大佬端茶递水。
WeChat:z133411023
QQ:133411023
欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称
邮箱
网站
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册