印仔 发布的文章

JavaScript基础

数据类型

类型

  • 基本数据类型

    • Number
    • String
    • Boolean
    • null
    • undefined
    • Symbol
    • Bigint
  • 引用类型

    • object

存储方式

  • 原始数据类型

    会被频繁使用,所以直接存储在栈(Stack)中.

  • 引用数据类型

    在栈中存储指针,堆中存储实体.

类型转换

  • 转换为布尔值

    调用Boolean().

  • 转换为数字

    调用Number()、parseInt()、parseFloat().

  • 转换为字符串

    调用.toString()、String()
    注:null 和undefined类型没有.toString().

判断类型

  • typeof()

    只能判断基本数据类型,引用数据类型返回object;数组也是一种对象类型,返回object.

  • instanceof()

    只能判断对象,如 (object instanceof(class)),若object 是class类返回true.

  • constructor

    //todo

  • obj.prototype.toString

    //todo

对象

常见内置对象

常用全局变量值: NaN, undefined;

全局函数: parseInt(), parseFloat();

供实例化对象的构造函数: Date, Object;

供计算的单体内置对象:Math...

创建对象方式

//todo

  • 工厂模式
  • 构造函数模式
  • 原型模式
  • 动态模型模式
  • 寄生构造函数模式
  • 组合使用构造函数和原型模式

获取原型方法

  • obj.proto
  • obj.constructor.prototype
  • object.getPrototypeOf(obj)

闭包

闭包三特性:

  • 函数嵌套函数
  • 函数内部可以引用函数外部的参数和变量
  • 参数和变量不会被垃圾回收机制回收

因此,可以使用内部函数调用外部函数的参数,来实现隐藏,保护变量的功能, 实现如下:

function out(){
var a=1;
return function(){
let b=1;
console.log(a++ +''+ b++);
}}

let fun = out()
fun();//1 1
fun();//2 1

优点:

  1. 保护函数内的变量安全 ,实现封装,防止变量流入其他环境发生命名冲突;
  2. 在内存中维持一个变量,可以做缓存(但使用多了同时也是一项缺点,消耗内存);
  3. 匿名自执行函数可以减少内存消耗

缺点:

  1. 其中一点上面已经有体现了,就是被引用的私有变量不能被销毁,增大了内存消耗,造成内存泄漏,解决方法是可以在使用完变量后手动为它赋值为null;
  2. 其次由于闭包涉及跨域访问,所以会导致性能损失,我们可以通过把跨作用域变量存储在局部变量中,然后直接访问局部变量,来减轻对执行速度的影响.
    ————————————————
    版权声明:闭包部分摘自CSDN博主「LeyiLi@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_51170516/article/details/112846286

事件模型

//todo

  • DOM0级别模型
  • IE事件模型
  • Dom2级事件模型

内存泄露

https://blog.csdn.net/Amrice_/article/details/123086495

SQL Server LEAD()函数简介SQL Server LEAD()是一个Window函数,它提供对当前行之后的指定物理偏移量的行的访问。
例如,通过使用LEAD()函数,可以从当前行访问下一行的数据或下一行之后的行,依此类推。
LEAD()函数对于将当前行的值与后续行的值进行比较非常有用。
以下是LEAD()函数的语法:
LEAD(return_value ,offset [,default])
OVER (

[PARTITION BY partition_expression, ... ]
ORDER BY sort_expression [ASC | DESC], ...

)

LAG()同理,不过是向上。
//更多请阅读:https://www.yiibai.com/sqlserver/sql-server-lead-function.html

对结果集进行排序,排名值没有间断。 特定行的排名等于该特定行之前不同排名值的数量加一。
DENSE_RANK ( ) OVER ( [ <partition_by_clause> ] < order_by_clause > )

Open System Interconnection Reference Model
开放式系统互联通信参考模型

自顶向下为:
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层