浅谈this?

一省:HTML

10. b标签和strong标签的区别?

  1. b标签只是文本加粗,而strong除了加粗还有强调的语义。
  2. strong标签更有利于SEO。

二省: CSS

10. css单行或多行溢出隐藏如何实现?

  1. 单行显示省略号
<html lang="en">
<head>
  <style>
    div {
      width: 200px;
    }
    p.single {
        /*1. 先强制一行内显示文本*/
      white-space: nowrap;  
      /* ( 默认 normal 自动换行) */
      /*2. 超出的部分隐藏*/
      overflow: hidden;
      /*3. 文字用省略号替代超出的部分*/
      text-overflow: ellipsis;
    }
  </style>
</head>
<body>
  <div>
    <p class="single">单行溢出隐藏单行溢出隐藏单行溢出隐藏单行溢出隐藏单行溢出隐藏单行溢出隐藏</p>
  </div>
</body>
</html>
  1. 多行实现省略号
<html lang="en">
<head>
  <style>
    div {
      width: 200px;
    }
    p.more {
      /*1. 超出的部分隐藏 */
      overflow: hidden;
      /*2. 文字用省略号替代超出的部分 */
      text-overflow: ellipsis;
      /* 3. 弹性伸缩盒子模型显示 */
      display: -webkit-box;
      /* 4. 限制在一个块元素显示的文本的行数 */
      -webkit-line-clamp: 2;
      /* 5. 设置或检索伸缩盒对象的子元素的排列方式 */
      -webkit-box-orient: vertical;
    }
  </style>
</head>
<body>
  <div>
    <p class="more">多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏多行溢出隐藏</p>
  </div>
</body>
</html>
image

三省:JavaScript

10. 浅谈this?

this是JavaScript的一个关键字,通常会在执行上下文中指向一个对象,在不同执行环境下会指向不同的对象。this的指向与调用的位置有关,与定义的位置无关。

  1. 全局作用域,普通函数中,this指向window
function foo() {
  console.log(this);
}

foo();//window
  1. 通过对象调用函数,this指向调用对象
//demo1
var obj = {
  name: "Jack",
  foo: function() {
    console.log(this);
  }
}
obj.foo();//obj {name: 'Jack', foo: ƒ}

//demo2
function foo() {
  console.log(this);
}
var obj1 = {
  name: "Mick",
  foo: foo
}
obj1.foo()//obj1 {name: 'Mick', foo: ƒ}
  1. call、apply和bind方法可以指定this的指向
function foo() {
  console.log(this);
}

var obj = {
  name: "Jack",
  foo: function() {
    console.log(this);
  }
}

var obj1 = {
  name: "Mick",
  foo: foo
}
foo.call(obj);//obj {name: 'Jack', foo: ƒ}
obj.foo.apply(obj1);//obj1 {name: 'Mick', foo: ƒ}
var foo1 = foo.bind(obj)
foo1();//obj {name: 'Jack', foo: ƒ}
  1. 箭头函数没有自己的this,this是上层作用域的this
//demo1
var obj2 = {
  name: "Siri",
  arrFn: () => {
    console.log(this);
  }
}
obj2.arrFn()//window

//demo2
var obj3 = {
  name: "Carry",
  foo: function() {
    var obj = {
      name: "Bobe",
      arrFn: () => {
        console.log(this);
      }
    }
    obj.arrFn()
  }
}
obj3.foo()//obj3 {name: 'Carry', foo: ƒ}

推荐大佬的一篇文章,想要更深入理解this的可以看看: https://mp.weixin.qq.com/s/hYm0JgBI25grNG_2sCRlTA

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一 HEML简要分析 1.HTML介绍 HTML:超文本标记语言,主要作用是用来编写网站页面。 超文本:文本是含有...
    我是李楠啊阅读 766评论 0 4
  • 前言:Block 是开发过程中常用便捷的回调方式,本文简单介绍 Block 一、Block 简介 Block 对象...
    梦蕊dream阅读 4,875评论 5 26
  • OC采用了引用计数(retain count)对对象内存进行管理,例如,某个对象alloc了,那么这个对象的...
    轻云_阅读 652评论 0 4
  • 1.新的标准规范 ECMAScript2015 是 js 的一种的新的标准规范,就是对 js 的写法上提出了新的语...
    望月从良glh阅读 332评论 0 0
  • Objective-C 采用的是引用计数式的内存管理方式: 自己生成的对象自己持有。 非自己生成的对象自己也能持有...
    s_在路上阅读 1,347评论 0 10

友情链接更多精彩内容