• Java Script 基础一


    一、JavaScript 简介    

        JavaScript 是一种轻量级,解释性或即时编译的编程语言。

        * JavaScript 直接写入HTML输入流

    document.write("<h1> This is a title </h1>");
    

        * JavaScript 对事件的反应

    <button onclick="submitForm()">Submit</button>
    <script type="text/javascript">
        function submitForm() {
            alert("Submit some infomation")
        }
    </script>
    

        * JavaScript 修改HTML内容

    <button id="submit_btn" onclick="submitForm()">Submit</button>
    <script type="text/javascript">
    	function submitForm() {
    	    let btn = document.getElementById("submit_btn");
    	    btn.innerHTML = "New submit text";
    	}
    </script>
    

        * JavaScript 改变HTML样式

    <button id="submit_btn" onclick="changeBackgroundColor()">Submit</button>
    <script type="text/javascript">
    	function changeBackgroundColor() {
    	    let btn = document.getElementById("submit_btn");
    	    btn.style.backgroundColor = "blue";
    	}
    </script>
    

    二、JavaScript 输出

        JavaScript 的输出共有 4 种

        * window.alert() 浏览器弹出警告框

        * document.write() 将输出写在HTML中

        * innerHTML 写入到元素中

        * console.log() 控制台输出

    三、JavaScript 运算符

        1_ 算术运算符

            加法: +          减法: -          除法: /          乘法: *          取余: %

            幂: **

    0**1 // 0的1次幂
    0
    3**2 // 3的平方
    9
    5**3 // 5的立方
    125
    

            递增: ++          递减: --

    a = 1
    
    a++
    1
    
    a
    2
    
    ++a
    3
    
    a++ // 递增放在后面,先输出a的值,之后对a进行 加1的运算
    ++a // 递增放在前面,先对a进行 加1运算,之后输出a运算后的结果值
    
    递减同理
    

            一元负号: -          一元正号: +

            一元负号运算符位于操作数前面,并转换操作数的符号。

            一元正号运算符位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。

            尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。

            它可以将字符串转换成整数浮点数形式,也可以转换非字符串值 truefalse  null。小数和十六进制格式字符串也可以转换成数值。负数形式字符串也可以转换成数值(对于十六进制不适用)。如果它不能解析一个值,则计算结果为 NaN。

    +12                                    // 12
    
    +"23"                                 // 23
    
    +"1.0"                                // 1
    
    +"1.05"                              // 1.05
    
    +"A"                                  // NaN
    
    +true                                 // 1
    
    +false                                // 0
    
    +null                                  // 0
    
    +function(val){ return val;} //NaN
    

        2_ 数组推导式

            * 对数组的遍历我们可以使用map、filter、剪头函数或者展开语法 来进行运算

    a = ["ASD", "666", "ECC", "BCC"]
    
    a.map((item, index) => {return item+index}) // 不会修改原数组,返回值是一个数组
    ["ASD0", "6661", "ECC2", "BCC3"]
    
    a.filter((item) => { return item != "ASD" }) // 不会修改原数组,返回值是一个数组
    ["666", "ECC", "BCC"]
    
    [...a, "QQQ"] // 展开语法可以将数组作为新数组的一部分
    ["ASD", "666", "ECC", "BCC", "QQQ"]
    
    function sum(A,B,C,D) { return A+B+C+D; }
    sum(...a)    // "ASD666ECCBCC"
    

            * for in    VS    for of

                for in 和 for of 可以对数组进行便利,但是个人尝试了一下 for in 同时可以遍历对象

    --------------------- 遍历对象 ----------------------------
    a = { AQ: '25', BQ: '36', CQ: '47' }
    
    for( item in a) console.log(item) // 返回对象的Key
    AQ
    BQ
    CQ
    
    for( item of a) console.log(item)  // for of 不能对对象进行便利
    Uncaught TypeError: a is not iterable
    
    
    --------------------- 遍历数组 ----------------------------
    a = ["ASD", "666", "ECC", "BCC"]
    
    for( item in a) console.log(item) // for in 返回的是数组的下标
    0
    1
    2
    
    for( item of a) console.log(item) // for of 返回的是数组中的每一个元素
    ASD
    666
    ECC
    

        3_ 位运算符

            按位与: &           a & b      两个操作数相应的比特位都是1时,结果才为1,否则为0。

            按位或:  |            a | b       两个操作数相应的比特位至少有一个1时,结果为1,否则为0。

            按位异或:  ^        a ^ b      当两个操作数相应的比特位有且只有一个1时,结果为1,否则为0。

            按位非: ~            ~a          反转操作数的比特位,即0变成1,1变成0

            左移: <<             a<<b      将 a 的二进制形式向左移 b (< 32) 比特位,右边用0填充。

            有符号右移: >>    a>>b      将 a 的二进制表示向右移 b (< 32) 位,丢弃被移出的位。

            有符号右移: >>>  a>>>b   将 a 的二进制表示向右移 b (< 32) 位,丢弃被移出的位,并使用 0 在左侧填充。

         负数的二进制如何表示?

             负数的表达形式是正值的补码 *

             原码: 一个整数绝对值的二进制表示,成为原码

             反码:将二进制数按位取反,所得的数为原码的反码

             补码:反码加1则为补码

      

  • 相关阅读:
    配置文件或者模板中的占位符替换工具类
    [C++设计模式] composite 组合模式
    集群通信组件tribes之集群的平行通信
    hibernate配置
    【Cocos2dx】Windows平台下Cocos2dx 2.x的下载、安装、配置,打造自己的Helloworld
    Codeforces Round #250 (Div. 2)
    一个不断复读且并没什么卵用的我这一种人的 学习观
    2015年创业中遇到的技术问题:81-90
    2015年创业中遇到的技术问题:81-90
    下载好一个android软件之后,怎样自动提示安装?
  • 原文地址:https://www.cnblogs.com/Lyh1997/p/14166204.html
Copyright © 2020-2023  润新知