JS基础

作者: 山高路远_海深不蓝 | 来源:发表于2018-11-13 21:25 被阅读0次

    JS基础(ES6)


    引入

    • HTML5默认的脚本语言就是javaScript,所以可以不用写type = 'text/javaScript'

    变量

    let为ES6新增
    JS中采用类似python的弱类型变量,不过定义变量时需要给定通用的变量名let或var;
    函数参数则不需要指定类型

    • 全局变量,作用于全局

    var PI = 3.14;
    var为数据类型名,全局变量一般使用大写字母

    • 局部变量,作用于本层{}内

    let i=3;

    数据类型


    数组

    • 空数组: let arr = []
    • 混合数组: let arr1 = ['a', 1, 'xiaobai']

    字符串

    let str = 'Hello'

    对象

    • 类似python的字典: let obj = {'name': 'naoxiaobai'}
    • 访问: obj.name

    函数基础


    运算符

    • 算术运算

    +,-,*,/

    • 逻辑运算

    与: '&&',或: ||, 非: '!'

    document


    获取标签对象

    • querySelector(argument)
      • 获取一个指定的标签,返回标签对象

    argument同HTML中的各种选择器
    例:获取类名为mark的标签对象
    document.querySelector('.mark')

    • querySelectorAll(arg)
      • 获取同一类所有的标签对象,返回对象数组

    argument同HTML中的各种选择器

    设置标签属性值

    • 方式1: setAttribute(name, value)

    name: 标签的属性名
    value: 属性值

    let img = document.querySelector('img');
    img.setAttribute('class', 'light');
    
    • 方式2: 通过document获取的标签对象可以直接设置或修改该标签属性的值

    例:获取img对象,设置宽度值

    let img = document.querySelector('img');
    img.style.height = 200+'px';
    

    移除标签属性值

    • removeAttribute(argument)

    argument: 要移除的标签的属性值(class,style)
    注意: 不能移除标签属性下的属性值(style下的color...)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>移除标签的属性值</title>
        <style type='text/css'>
            .mark{
                font-size: 50px;
            }
        </style>
    </head>
    <body>
    
    <h1 class='mark' style="color:red">Hello World</h1>
    <p id="demo">点击下面的按钮删除上面的标题的样式属性</p>
    <button onclick="myFunction()">点我</button>
    <script>
    function myFunction(){
        document.getElementsByTagName("H1")[0].removeAttribute("class");
    };
    
    </script>
    </body>
    </html>
    

    window


    onload

    • 监听网页是否加载完成,加载完成后执行其后的函数

    一般后跟一个函数,确保网页全部加载完毕,以防标签获取或设置属性时,网页未加载完成而导致出错。
    例:
    `window.onload = function (ev) {
    ;

    } `

    getComputedStyle

    • 获取标签对象的所有style属性值,返回对象类型

    注意:返回的对象中的键值如果由多个单词组成,使用的是小驼峰结构
    例:获取标签对象img的宽度

    let img = document.querySelector('img');
    let height = window.getComputedStyle(img).height;
    

    onresize

    • 监听浏览器窗口的大小是否发生了变化

    类似onload,后跟一个函数,如果窗口发生变化,则执行该函数
    例: window.onresize = function () { ; }

    定时器


    setInterval

    • setInterval(fun,delay[, param1, param2, ...])

    fun为指定时间所要执行的函数
    delay延迟执行的时间(单位为毫秒)
    params向延迟函数传递而外的参数,IE9以上支持
    例:延迟1s的时间后修改mark标签的宽度为原来的两倍

    let mark = document.querySelector('.mark');
    //获取mark标签的宽度和高度
    let style_mark = window.getComputedStyle(mark);
    let width = parseInt(style_mark.width);
    let timer1 = setInterval(function () {
            width *= 2;
            //修改标签的宽度和高度(行间样式修改)
            mark.style.width = width+'px';
    }, 1000)
    

    clearInterval

    • 关闭打开的定时器对象

    例:

    let timer = setInterval(function(){});
    clearInterval(timer);
    

    setTimeOut

    基于刷新的动画


    • requestAnimationFrame根据浏览器自身的刷新频率来完成动画

    requestAnimationFrame(callBack):
    该方法作用是告诉浏览器在执行下一次页面绘制时提前调用一下callBack,
    注意每一次调用requestAnimationFrame,该方法都会为本次调用函数返回一个唯一的id,
    本次id可以作为取消本次调用的依据,取消方法为window.cancelAnimationFrame(id)

    第三方框架


    bootstrap

    • 栅格系统,一种轻便的web页面框架

    Swiper

    • 移动端常用的滑动插件,由于IE低版本不兼容,PC端慎用

    Vue

    • 适用于自定义组件,利于头部和脚部的定义

    相关文章

      网友评论

          本文标题:JS基础

          本文链接:https://www.haomeiwen.com/subject/ahrrfqtx.html