美文网首页
#前端 JS

#前端 JS

作者: NeyoShinado | 来源:发表于2021-10-16 16:45 被阅读0次

    JavaScript为Web编程语言,与Java无关。Web程序中,HTML定义页面内容;CSS描述页面布局;JS控制页面行为;
    相关手册
    ①JS实例:https://www.runoob.com/js/js-examples.html
    ②JS对象实例:https://www.runoob.com/js/js-ex-objects.html
    ③JS浏览器支持实例:https://www.runoob.com/js/js-ex-browser.html
    ④JS HTML DOM实例:https://www.runoob.com/js/js-ex-dom.html
    ⑤JS内置对象、Browser对象、HTML DOM 对象:https://www.runoob.com/jsref/jsref-tutorial.html

    零、Chrome调试代码
    ——————————————————————————
    1.按F12或右键->检查或菜单栏:更多工具->开发者工具开启调试页面。
    其中,

    一、函数
    ——————————————————————————
    1.未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。

    var var1 = 1; // 不可配置全局属性
    var2 = 2; // 可配置全局属性
    delete var1; // false
    console.log(var1); // 1
    delete var2;
    console.log(var2); // 已删除,报错
    2.变量在函数中没有var声明,也为全局变量;
    3.全局变量都是window对象。
    carName = "BMW"; // 其他地方可使用window.carName

    二、事件
    ——————————————————————————
    事件可以是浏览器行为或用户行为。

    三、字符串
    ——————————————————————————
    字符串可以创建为对象,但这么做会拖慢执行速度并产生副作用;

    四、标签
    ——————————————————————————
    JS语句可以加上标签标记
    label:
    statements
    break labelname 可以跳出任何JS代码块

    五、typeof
    ——————————————————————————
    1.数组为特殊对象类型,typeof [1,2,3] 将返回object;
    2.null表示什么都没有,typepf null将返回object;
    3.null == undefined, 但null !=== undefined;

    六、数据类型
    ——————————————————————————
    1.NaN的数据类型是number;
    2.一元运算符 + 可以将变量转换为数字(逻辑不能转换的情况下仍是数字,其值为NaN);
    3.Number(false) // 0;Number(true) // 1;
    4.JS会尝试将错误的数据类型转换为“正确”的数据类型:
    5 + null // 5,null->0;"5" + null // "5null",null->“null”;"5" + 1 // "51",1->“1”;"5" - 1 // 4,"5"->5;
    5.输出对象或变量会自动调用变量的toString();

    七、调试
    ——————————————————————————
    1.JS中插入console.lot()在调试窗口打印变量值;
    2.JS中插入debugger;语句设置断点;

    八、声明提升(hoisting)
    ——————————————————————————
    1.JS的变量及函数可以先使用再声明,不过解释器会在执行时将声明提升到方法体顶部,但是变量初始化不会提升;
    2.JS严格模式(在脚本或函数头添加"use strict";)不允许使用未声明的变量;

    九、严格模式
    ——————————————————————————
    1.消除JS语法的不严谨处,提升编译效率;
    2.不允许使用未声明变量、删除变量、变量重名、使用八进制、使用转义字符、对只读属性赋值、对使用getter方法读取的属性进行赋值、this指向全局对象等;

    十、常见错误
    ——————————————————————————
    1.switch语句使用恒等(===)进行比较;
    2.浮点数进度为64位float
    var z = 0.1 + 0.2; // 结果为0.30000000000000000004
    3.JS对象才能使用字符串作为索引,若数组使用字符串作为索引会转为标准对象,数组的方法及属性都不能再使用;
    4.JS中,null用于对象,undefined用于变量、属性及方法。若对象未定义,直接通过等式判断存在性会报错,要先用typeOf检测对象:
    if (typeof myObj !== "undefined" && myObj !== null) ;
    5.一般代码块的作用域都是全局的;

    十一、DOM
    ——————————————————————————
    什么是DOM?

    十二、this
    ——————————————————————————
    1.方法中指调用this所在方法的对象;
    2.函数中指向全局对象;
    3.单独使用指向全局(Global)对象,浏览器中,window就是该全局对象;
    4.事件中this指向接收事件的的HTML元素;
    5.函数对象的apply和call允许切换上下文环境,即this绑定的对象;

    十三、let和const
    ——————————————————————————
    1.let声明的变量作用域只存在于let所在的代码块;
    2.const声明一个只读常量;

    十四、JSON(JavaScript Object Notation)
    ——————————————————————————
    1.JSON用于存储数据格式、服务端想网页传递数据;
    2.JSON格式化后为JavaScript对象,因为JSON格式与创建JS对象的代码语法是相同的;
    3.JSON语法:①数据为键值对;②数据由逗号分隔;③{}保存对象;④[]保存数组;
    4.JSON.parse()将JSON转换为JS对象;JSON.stringify()将JS值转换为JSON;

    十五、void
    ——————————————————————————
    1.#包含一个位置信息,默认的锚是#top即网页顶端;
    2.href="#+id" 跳至页面具体位置;href="javascript:void(0)"表示一个死链接;

    十六、异步编程
    ——————————————————————————
    1.耗时长的事件往往用子线程执行,避免影响主线程;
    2.JS往往通过回调函数实现异步任务(setTimeout);
    3.异步回调还能使用AJAX编程;
    4.异步编程还能使用Promise类(多次异步等);
    ——————————————————————————
    参考自runoob.com,侵删。

    相关文章

      网友评论

          本文标题:#前端 JS

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