26 Matching Annotations
  1. Apr 2022
    1. valueOf()方法返回包装对象实例对应的原始类型的值

      这是一个属性 是一个方法 一个对象函数 用.来导出这个属性 用圆括号来激活

    2. 上面代码中,abc是一个字符串,本身不是对象,不能调用length属性。JavaScript 引擎自动将其转为包装对象,在这个对象上调用length属性。调用结束后,这个临时对象就会被销毁。这就叫原始类型与实例对象的自动转换

      对字符串 使用对象的专有函数他会 生成一个形式上一致但是是对象的临时拷贝 操作完 返回值以后 销毁

    1. map()方法还可以接受第二个参数,用来绑定回调函数内部的this变量

      位置作为参数添加在前面

    2. 数组的toString方法返回数组的字符串形式

      有点py味儿了,有列表转字符串那意思了

    1. 可以通过Object.defineProperty方法来拷贝属性

      解决了无法拷贝 存取器的问题 存取器 这里只能暂时理解为 getter 和 setter 这两个操作?

    2. 上面代码中,obj.p1是可遍历的,obj.p2是不可遍历的。Object.getOwnPropertyNames会将它们都返回。这跟Object.keys的行为不同,Object.keys只返回对象自身的可遍历属性的全部属性名。

      getOwnPropertyNames返回所有属性 keys返回可遍历的属性

    3. 上面代码中,Object.getOwnPropertyDescriptor()方法获取obj.p的属性描述对象。

      查询对象的基本的六种原属性的情况

    4. 内部数据结构,用来描述对象的属性,控制它的行为,比如该属性是否可写、可遍历等等

      查询对象的可执行操作

    1. 表示该实例对象自身是否具有该属性

      查询属性

    2. 上面代码将对象obj与数字1相加,这时 JavaScript 就会默认调用valueOf()方法,求出obj的值再与1相加

      是布尔值吗

    1. 上面代码中,start是函数createIncrementor的内部变量。通过闭包,start的状态被保留了,每一次调用都是在上一次调用的基础上进行计算。从中可以看到,闭包inc使得函数createIncrementor的内部环境,一直存在。所以,闭包可以看作是函数内部作用域的一个接口

      有点静态局部变量的意思了

    2. 属性

      这是一个键值对的概念

    3. Function 构造函数

      把function这个东西理解成成一个类名

    4. function 命令

      末尾不用加 ; 表示结束

  2. Mar 2022
    1. const { johnDoe: { age: userAge, email: userEmail }} = user;

      左边是具体的体现 右边是包含它的主体 要改变量名就在对应的 键 后面补上就行

  3. Jan 2022
    1. auto-fit 效果几乎和 auto-fill 一样。 不同点仅在于,当容器的大小大于各网格项之和时,auto-fill 会持续地在一端放入空行或空列,这样就会使所有网格项挤到另一边;而 auto-fit 则不会在一端放入空行或空列,而是会将所有网格项拉伸至合适的大小。
      • auto-fill 和 auto-fit 辨析
      • auto-fit 会自适应 不留白
    1. 置函数 minmax 也可用于设置 grid-template-columns 和 grid-template-rows 的值。 它的作用是在网格容器改变大小时限制网格项的大小
    1. 使用 grid-template-columns 或 grid-template-rows 定义网格结构时,你需要为添加的每一行或每一列都输入一个值。 如果一个网格共有 100 行且每行高度相同, 那我们就需要输入 100 个值,这显然不太实际。 为此,更好的方式是使用 repeat 方法指定行或列的重复次数,后面加上逗号以及需要重复的值。
    1. item1 { grid-area: 1/1/2/4; } 这里使用了你之前学习的网格线编号来定义网格项的区域。 上例中数字代表这些值: grid-area: horizontal line to start at / vertical line to start at / horizontal line to end at / vertical line to end at; 因此,示例中的网格项将占用第 1 条水平网格线(起始)和第 2 条水平网格线(终止)之间的行,及第 1 条垂直网格线(起始)和第 4 条垂直网格线(终止)之间的列。

      奇数水平 偶数垂直

    1. start:使内容在单元格左侧对齐, center:使内容在单元格居中对齐, end:使内容在单元格右侧对齐,
    1. ,我们也可以设置网格项沿竖直方向的对齐方式。 为此,我们可以对网格项使用 align-self 属性来实现

      align-self 上下压缩 justify-self 左右压缩

    1. 你可以将网格中的一些单元格组合成一个区域(area),并为该区域指定一个自定义名称。 可以通过给容器加上 grid-template-areas 来实现: grid-template-areas: "header header header" "advert content content" "advert footer footer"; 上面的代码将网格单元格分成四个区域:header、advert、content 和 footer。 每个单词代表一个单元格,每对引号代表一行

      不是很懂这个的效果

    1. align-self 可设置的值与 align-items 的一样,并且它会覆盖 align-items 所设置的值
    2. flex 子项目的最后一个属性是 align-self。 这个属性允许你调整单个子元素自己的对齐方式,而不会影响到全部子元素。 因为 float、clear 和 vertical-align 等调整对齐方式的属性都不能应用于 flex 子元素,所以这个属性显得十分有用。

      因为 float、clear 和 vertical-align 等调整对齐方式的属性都不能应用于 flex 子元素

    1. 但 fixed 和 absolute 的最明显的区别在于,前者定位的元素不会随着屏幕滚动而移动

      浮窗效果用absolute实现吗?