zoukankan      html  css  js  c++  java
  • JS--我发现,原来你是这样的JS(二)(基础概念--躯壳篇--不妨从中文角度看js)

    一、介绍

    • 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第二篇(基础概念--躯壳篇),有着部分第三章的知识内容,当然其中还有我个人的理解。
    • 红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂更不容易,要熟练js更是难,中间需要不断的积累与重温。
    • 本书不是读一两遍就能把这书吃透,需要多读,可谓温故而知新,可以为师矣。

    很多人看这些厚的书都是三天打鱼两天晒网,很少能看下去,能记住的东西往往前3章的内容,所以我写博客就是为了能和大家一起来读这本书,一起学JS。


    二、基本概念(躯壳篇)

    首先要说的,JavaScript是一门高级语言,没错语言,语言就要有一定的语法,接地气的讲就像中文,中文也有一定的语法,比如怎样书写,一撇一划便形成汉字之美,这样就写出大家都懂得汉字。类似的JavaScript也有语法:

    1.区分大小写

    • 在js中的一切,如变量,函数名,操作符等都区分大小写。 如变量名为test 和 Test 是两个不同的变量。

    2.标识符(就是自己去定义的名称,如变量,函数名,属性名,参数等)

    • 由字母,下划线(_),美元符号($),和数字组成,且第一个字符不能以数字开头。如3Ta 这样的命名是错误的。
    • 命名方式建议使用驼峰式命名:如myFriend。

    3.注释

    • 单行注释
    // 这是单行注释
    
    • 块级(多行)注释
        /*
        * 这是多行注释
        */
    

    4.严格模式

    严格模式在ES5中加入,为了增强js代码的安全性和消除js的一些不合理异常的行为。

    • 启动严格模式:
    //在js中加入use strict 这条字符串
    "use strict"
    
    • "use strict"加入的位置(哪里想用加哪里):
      1.如果需要整个js脚本都使用严格模式就在脚本第一行加入这句话
      2.如果在函数中使用严格模式就在函数内部第一行加入这句话。

    5.关键字和保留字

    这么说吧,关键字和保留字都是一些特定的词,这些词不能在作为标识符使用,也就是你不能用来定义自己的东西,人家有申请专利。就像人家肯德基,你不能再取肯德基了吧,你最多来个肯基基是不是。

    • 比如:if,else,do ,while,for ,break,var,let等等,还挺多,这个不用记,多敲代码就自然而然知道了。

    6.变量

    js是一门弱类型语言,它不像java的强类型,对于每个数据类型的声明都需要指出是什么类型的数据。而js的变量声明就用var这个操作符。

    //声明一个变量,它可以用来保存任何类型的值,此处没对sum赋值,默认为undefined
    var sum;
    //声明一个变量并赋值,此处赋值了字符串
    var message = "hello javascript!";
    //此处再对message这个变量赋值数字12,是允许的,不会报错
    message = 12;
    

    注意点:

    1.在没有使用var声明变量时,该变量是属于全局变量。

    function setAge(){
        //没有使用var定义,age为全局变量
        age = 10;
    }
    //函数外部可以使用age
    console.log(age); //10
    

    2.在严格模式下,不使用var定义变量会报错。

    7.语句

    7.1 概念:

    到语句了,语句这里ES给出定义:语句以一个分号结尾。这里语句就像中文的一句话,中文以句号结尾。语句可长可短,只要能表达到意思能让人明白意思,对于js语句就要让其解析器明白。(分号可以省略,但是不建议省略分号,避免出现不必要的问题)。
    例子:

    //声明语句
    var sum = 1;
    

    插插话:其实一个JavaScript的程序就是语句的集合,解析器一条条读下来一条条解析,你想表达的机器知道了,就执行相应操作,最终做好一件事。是不是感觉写个程序好比一篇理科生作文。

    7.2 ECMA-262 规定了一组语句(流程语句)。

    这里规定的语句就像的是它给了一组句型你,你通过这些句型能够更好来表达你的程序。看到这你会发现js和java的语法有些相似。

    常用语句(句型)如下:
    1.if语句(条件语句)

    /*
    *if语句模版
    *如果if括号condition值为true就执行if后面的代码块,否则执行else后面的代码块
    */
    if(condition){
        //do something
    }
    else{
        //do something
    }
    

    2.do-while(循环语句)

    /*
    *do-while语句模版
    *do会先执行一次其后面的代码,如果while后面的expression条件为true就会继续执行do后面的代码块
    */
    do{
        //do something
    }while(expression)
    

    3.while(循环语句)

    /*
    *while模版
    *当expression条件为true则执行代码块里的代码
    */
    while(expression){
        //do something 
    }
    

    4.for循环语句

    //模板
    for(初始值,循环条件,一次循环后执行的代码){
        //do something
    }
    
    //for循环例子:
    var count = 100;
    for(var i = 0; i<count ; i++ ){
        console.log(i);
    }
    
    

    5.break 与 continue
    break 和 continue都是对循环语句进行精准的控制的语句,break表示中断整个循环,而continue表示中断此次循环下面的代码执行,并跳到下一次的循环。

    //break例子
    //代码的输出结果是在控制台输出一个0后,结束运行。
    var i=0;
    while(i<10){
        console.log(i);
        i++;
        break;
    }
    
    //continue例子
    //每次遇到continue就会执行下一次循环,而continue后面的alert永远不会被执行,所以控制台会输出0-9,但是alert不会被执行。
    var i =0;
    while(i<10){
        console.log(i);
        i++;
        continue;
        alert(i);
    }
    

    6.switch
    switch语句是一种判断语句,通过输入的内容来选择对应的处理方式,用于有限种的判断。

    //switch例子
    //根据i的值的不同而选择对应的case,每个case后面应加上break作为终结,不然会继续运行下去,直达遇到break。
    switch(i){
        case 1:
            console.log(1);
            break;
        case 2:
            console.log(2);
            break;
        case 3:
            console.log(3);
            break;
        //default里代码是当没有以上case对应的值时执行,比如5
        default:
            alert("Other");
    }
    

    三、最后小结;

    这次总结js的基本概念的一部分,我命之为躯壳,为什么说是躯壳,我们可以回顾一下,上面说的内容都是教人识字一样,告诉你们怎么写字(标识符写法,不能用关键字等规则),还有什么是语句(就教你们认识了什么是语句,给出的流程语句有哪些),给人感觉就是只有躯壳一样,那么下一篇便向其注入灵魂。
    如果觉得这篇博客写得有点意思,就点个赞吧。

    本文出自博客园:http://www.cnblogs.com/Ry-yuan/
    作者:Ry(渊源远愿)
    欢迎访问我的个人首页:我的首页
    欢迎访问我的github:https://github.com/Ry-yuan/demoFiles
    欢迎转载,转载请标明出处,保留该字段。

  • 相关阅读:
    从0开始学FreeRTOS-(创建任务)-2
    从0开始学FreeRTOS-1
    linux(ubuntu)系统mysql-5.7 修改字符集
    腾讯云服务器简单环境配置
    linux系统ubuntu18.04安装mysql(5.7)
    ubuntu18.04从零开始配置环境(jdk+tomcat+idea)到使用idea开发web应用和servlet
    Eclipse为工具包关联源码(本例工具包为dom4j-1.6.1)
    关于c#(vs)dategridview控件继承不能修改的问题
    C语言写单链表的创建、释放、追加(即总是在最后的位置增加节点)
    c++邻接表存储图(无向),并用广度优先和深度优先遍历(实验)
  • 原文地址:https://www.cnblogs.com/Ry-yuan/p/7496574.html
Copyright © 2011-2022 走看看