• 10.26JavaScript


    JavaScript的一些基础概念和知识及发展史:

    JavaScript:
        * 概念:    一门客户端脚本语言
            * 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎
            * 脚本语言:不需要编译,直接就可以被浏览器解析执行了

        * 功能:
            * 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。
        
        * JavaScript发展史:
            1. 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C--    ,后来更名为:ScriptEase
            2. 1995年,Netscape(网景)公司,开发了一门客户端脚本语言:LiveScript。后来,请来SUN公司的专家,修改LiveScript,命名为JavaScript
            3. 1996年,微软抄袭JavaScript开发出JScript语言
            4. 1997年,ECMA(欧洲计算机制造商协会),制定出客户端脚本语言的标准:ECMAScript,就是统一了所有客户端脚本语言的编码方式。

            * JavaScript = ECMAScript + JavaScript自己特有的东西(BOM+DOM)

        * ECMAScript:客户端脚本语言的标准
            1. 基本语法:
                1. 与html结合方式
                    1. 内部JS:
                        * 定义<script>,标签体内容就是js代码
                    2. 外部JS:
                        * 定义<script>,通过src属性引入外部的js文件

                    * 注意:
                        1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。
                        2. <script>可以定义多个。
                2. 注释
                    1. 单行注释://注释内容
                    2. 多行注释:/*注释内容*/
                3. 数据类型:
                    1. 原始数据类型(基本数据类型):
                        1. number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
                        2. string:字符串。 字符串  "abc" "a" 'abc'
                        3. boolean: true和false
                        4. null:一个对象为空的占位符
                        5. undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
                        
                    2. 引用数据类型:对象
                    
                4. 变量
                    * 变量:一小块存储数据的内存空间
                    * Java语言是强类型语言,而JavaScript是弱类型语言。
                        * 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据
                        * 弱类型:在开辟变量存储空间时,不定义空间将来的存储数据类型,可以存放任意类型的数据。
                    * 语法:
                        * var 变量名 = 初始化值;
                    
                    * typeof运算符:获取变量的类型。
                        * 注:null运算后得到的是object
                5. 运算符
                    1. 一元运算符:只有一个运算数的运算符
                        ++,-- , +(正号)  
                        * ++ --: 自增(自减)
                            * ++(--) 在前,先自增(自减),再运算
                            * ++(--) 在后,先运算,再自增(自减)
                        * +(-):正负号
                        * 注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
                            * 其他类型转number:
                                * string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
                                * boolean转number:true转为1,false转为0
                    2. 算数运算符
                        + - * / % ...

                    3. 赋值运算符
                        = += -+....

                    4. 比较运算符
                        > < >= <= == ===(全等于)
                        * 比较方式
                          1. 类型相同:直接比较
                              * 字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
                          2. 类型不同:先进行类型转换,再比较
                              * ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
                        

                    5. 逻辑运算符
                        && || !
                        * 其他类型转boolean:
                           1. number:0或NaN为假,其他为真
                           2. string:除了空字符串(""),其他都是true
                           3. null&undefined:都是false
                           4. 对象:所有对象都为true
                    
                    6. 三元运算符
                        ? : 表达式
                        var a = 3;
                        var b = 4;
                
                        var c = a > b ? 1:0;
                        * 语法:
                            * 表达式? 值1:值2;
                            * 判断表达式的值,如果是true则取值1,如果是false则取值2;
                    
                6. 流程控制语句:
                    1. if...else...
                    2. switch:
                        * 在java中,switch语句可以接受的数据类型: byte int shor char,枚举(1.5) ,String(1.7)
                            * switch(变量):
                                case 值:
                        * 在JS中,switch语句可以接受任意的原始数据类型
                    3. while
                    4. do...while
                    5. for
                7. JS特殊语法:
                    1. 语句以;结尾,如果一行只有一条语句则 ;可以省略 (不建议)
                    2. 变量的定义使用var关键字,也可以不使用
                        * 用: 定义的变量是局部变量
                        * 不用:定义的变量是全局变量(不建议)

  • 相关阅读:
    自学大数据初期
    研究正则表达式
    智能穿戴设备移动APP端与外设数据传输协议
    集成Facebook SDK
    Core Data数据库迁移
    用Time Machine做更换电脑工具
    iOS Automation Test
    编译libcore-amr静态库
    解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题[segfault at 18 ip 00007f78842b4bd0 sp 00007fff1995a818 error 4 in libpthread-2.17.so[7f78842ab000+16000]]
    CentOS 7 安装Percona,Xtrabackup
  • 原文地址:https://www.cnblogs.com/zhaoyids/p/14145803.html
Copyright © 2020-2023  润新知