程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

javaScript你不知道的闲杂知识

发布于2021-05-30 12:46     阅读(1414)     评论(0)     点赞(28)     收藏(0)


页面端的js避免延迟

有些需要很久的js引入时,尽量放在下面(有可能因为加载这个文件导致渲染延迟)

前端访问的基本流程

在这里插入图片描述

注释与执行符

  1. //

  2. /*
    */

  3. ;尽量加上 或者下载一个插件

变量解析过程以及变量提升

js代码执行之前会预先将代码预解析一遍

       var web = "hdcms";

包含两个过程

      var web;
      web = "hdcms";

在浏览器执行之前会预先加载第一步(无论程序将是否执行)
例如:

if(false){
var sam = 1;
}

一就会执行第一句 var sam;

ps:其实这是不好的

let const暂时性死区TDC

声明必须在使用之前

{
块儿及作用域
ok
}
找的时候有就用 没有会依次向上级寻找

全局污染

之前代码js文件堆在一起(之前遇到过);
变量极其混乱 很恶心

块作用域

  1. for中的i有块级作用域不会污染全局
  2. 不同的js文件使用let不会冲突
  3. 解决立即执行函数(立即执行,通过函数中的方法来导出变量)来防止全局污染的问题
    例如:
    {
    let a=1;
    }
    外面就访问不到了

cosnt探究

const a = 123;
a = 3456;
这样是不可以的
但是
const b = {};
b.a = 123;
这样是可以的

  1. 所以说const是锁定了指针的方向,该指针内部的东西无所谓
  2. const仅限于一个块作用域内(因为并不是同一个作用域)

window全局对象污染的声明

  1. 全局作用域下var声明的对象会放到window下
  2. let定义的不会与window之间内部的变量冲突
  3. 重复声明var用下面的 let会提示

Object.freeze冻结变量

‘use strict’
let a = {b:123};
Object.freeze(a);
之后a如何改变都不会改变 建议使用严格模式

传值和传址

爸爸把车钥匙给了儿子是传址
爸爸直接给了儿子买新车是传值

null和undefined

一开始只有null没有undefined
null:本来打算保存引用类型
undefined:本来打算保存基本类型
函数没有返回值为undefined也包括没有参数使用了
typeof没有值为undefined(未声明)

严格模式

  1. 关键词不允许 报错
  2. 变量互相干扰不允许 报错
  3. 作用域:当前作用域向下(和变量相同)
  4. 禁止用大括号代替{a,b}={}解构语法

原文链接:https://blog.csdn.net/s2422617864/article/details/117196995




所属网站分类: 技术文章 > 博客

作者:Bhbvhbbgg

链接:http://www.qianduanheidong.com/blog/article/116055/9f004b2efa67c6382286/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

28 0
收藏该文
已收藏

评论内容:(最多支持255个字符)