跳至主要內容

Heyn‘s BLOGS

今日事今日毕

常用CSS属性

pointer-events

pointer-events是一个CSS属性,它定义了在何种情况下元素可以成为鼠标事件(或触摸事件)的目标。这个属性可以控制元素是否可以被点击、是否可以触发鼠标事件,或者是否应该忽略鼠标事件,让事件传递给下面的元素

使用场景

pointer-events属性主要用于以下几种场景:

  • None: 元素不会成为鼠标事件的目标。例如,如果想让一个元素透明对用户的点击,可以将其pointer-events设置为none
  • Auto: 默认值。元素正常响应鼠标事件。
  • VisiblePainted: 元素仅在可见部分响应鼠标事件。
  • 其他值: 还有一些其他值用于SVG元素,如visibleFill, visibleStroke, painted, 等。

Heyn大约 2 分钟CSS样式CSS属性
this的指向

this的一些基础知识

  1. this 是javascript中的一个关键字,并非是一个变量。
  2. this 关键字指向的是一个对象,而指向哪个对象,或者是这个对象的值是什么取决于使用(调用)的方式和环境。
  3. this 指向的值是可以通过手动方式去改变的,比如call、bind、apply方法。
  4. this 在严格模式和非严格模式下也会有差别。

一、全局普通函数


Heyn大约 4 分钟ES6JavascriptTHISES6THIS
ES6新特性-06

第十六章:新的数据类型和特性

JavaScript在ES6中引入了一些新的数据类型和特性,用来丰富语言的功能和提高开发人员的效率。本章将介绍几种新的数据类型和特性,包括Set和Map、Symbol和WeakSet、以及Reflect和Proxy。

1.Set 和 Map

SetMap这两种新数据类型分别用于存储集合和键值对,提供了更灵活的数据存储方式。如果常做算法的小伙伴肯定是对它们记得是滚瓜烂熟了,因为我们经常能够碰到哈希表的题目,以及一些需要用到集合去重的题目。


Heyn大约 7 分钟ES6JavascriptES6
ES6新特性-05

第十三章 Proxy 和 Reflect

ProxyReflect 是 ES6 中新增的两个内置对象,它们的出现使得 JavaScript 中的对象操作更加灵活和可控。在这一章里我们将会简单介绍 ProxyReflect 的基本用法和常见方法。

使用 Proxy 进行代理:

Proxy 对象是用于拦截目标对象操作的一个代理,通过Proxy对象,我们可以拦截对目标对象的一些操作,比如读取属性、设置属性、调用方法等。它的语法如下:


Heyn大约 8 分钟ES6JavascriptES6
ES6新特性-04

第十章:迭代器和生成器

JavaScript的迭代器和生成器是用于处理集合、循环和异步编程的强大工具。它们允许您以更灵活、可维护的方式处理数据集合和异步操作。在本章中,我们将深入了解可迭代对象、创建生成器函数以及yield关键字的使用。

1. 可迭代对象

可迭代对象是一种具有迭代行为的对象,它可以被遍历,例如数组、字符串、Map、Set等。可迭代对象实现了Symbol.iterator方法,该方法返回一个迭代器对象。

const iterableObject = [1, 2, 3];

for (const item of iterableObject) {
  console.log(item);
}

Heyn大约 14 分钟ES6JavascriptES6
ES6新特性-03

第七章:类和继承

面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,而在JavaScript中,类和继承是实现OOP的重要概念。本章将深入探讨类的定义继承构造函数super 关键字以及静态方法

1. 类的定义和继承

在ES6之后,JavaScript引入了类的概念,允许开发者使用更具结构化的方式来编写代码。类定义了对象的结构和行为。下面是类的基本语法:


Heyn大约 12 分钟ES6JavascriptES6
ES6新特性-02

第四章:解构赋值

解构赋值是一种在JavaScript中非常有用的语法,它也是ES6中的新特性,它可以从数组和对象中提取值,并将它们赋给变量。在本章中,我们将深入探讨解构赋值,包括数组解构、对象解构和默认值的使用。

1. 数组解构

数组解构是从数组中提取值并将其赋给变量的过程。它通过使用方括号[]来实现,其中变量名放在等号的左边,数组放在等号的右边。

  • 基本数组解构:可以通过在等号左侧的方括号中列出变量来提取数组中的元素,并按照数组的顺序进行分配。

    const colors = ["red", "green", "blue"];
    const [color1, color2, color3] = colors;
    
    console.log(color1); // "red"
    console.log(color2); // "green"
    console.log(color3); // "blue"
    
  • 跳过不需要的值:通过在解构模式中使用逗号,可以跳过不需要的值。

    const numbers = [1, 2, 3, 4, 5];
    const [first, , , , last] = numbers;
    
    console.log(first); // 1
    console.log(last); // 5
    
  • 剩余数组元素:剩余运算符...,我们可以通过...来获取数组中的剩余元素。

    const scores = [85, 92, 78, 90, 88];
    const [highest, ...rest] = scores;
    
    console.log(highest); // 85
    console.log(rest);    // [92, 78, 90, 88]
    

Heyn大约 10 分钟ES6JavascriptES6
ES6新特性-01

第一章:let 和 const

1.let 和 const 声明

在JavaScript中,变量声明通常使用var关键字,但ES6引入了let和const关键字,它们有着一些重要的区别。让我们首先研究let和const的不同之处。

  1. 变量的可变性

使用let声明的变量是可变的,这意味着可以重新分配(重新赋值)这些变量的值。

let x = 10;
x = 20; // 合法,x的值可以改变

Heyn大约 11 分钟ES6JavascriptES6