web前端面试题附答案042 - 来自字节的拷问,strike()方法有什么缺点吗?
创始人
2024-03-30 04:33:09
0

看文章的都是大佬,给点个赞好不好

面试中有连环炮式拷问,有套娃式拷问,基本都是层层深入的。还有一种拷问,就是你招不招,你招不招,但是他好像忘记了问,让我招什么。面试的最高奥义就是先问常规问题,当你觉得自我满足的时候,套娃被取掉了外层的壳,紧接着出现了更精致的小套娃,那就是问你XXX的缺点是什么,那么你觉得如何解决XXX问题呢

        关于strike()方法, 我想说的是,别说缺点了,我连基本用法都不知道是个啥。面试官肯定想,连这都不知道,下一个;去面试的肯定想,你们这也太坑了,这是啥呀,能不能愉快的玩耍一下下。好吧,进入正题。

 1、字符串的strike()方法

        这个内置方法自身是这样解释的:

        strike() 方法用于显示加删除线的字符串

        用法:'string'.strike()

        因为这本身是string的内置方法,所以肯定涉及到script的书写,就想这样:

 

         通过以上代码可知,strike()方法,将字符串添加了删除线。但这种方法最终返回的还是字符串,并不能直接和dom产生联系,所以还需要再想办法添加到DOM中去。如果是vue react这类框架内呢,会省事很多,直接在模板中就可以赋值了

2、你是否知道还有个strike的标签

        效果和上面的实现是一样的,其实下面这段代码呢,就是对于上面strike方法的一个解释,通过strike方法,就相当于在元素内添加了一个的标签。注意这里的文字是“我爱踢足球”,返回到刚刚的代码“我爱打篮球”,可以通过审查元素看一下HTML结构。可知,这两种思路造成的结果是一样的。

我爱踢足球

        既然造成的结果一样,那么既然写法不同,肯定就会产生所谓的区分,优缺点,不同点。我们看刚刚的strike方法,首先需要对字符串进行操作,然后再和DOM元素产生桥接,再操作DOM元素进行赋值,这么一系列的操作其实是一件高成本的事情,只不过浏览器很强大,做了很多事情。计算机每秒几十亿次的计算,我们感受不到而已。所以这里,strike标签明显是刚才第一步的结合体,而且省却了很多步骤。

        再换言之,可能刚才那一系列的方法转换,dom操作,最终也只是想达到标签的效果。

3、css实现方案

        相对于strike让人一脸懵,可能大家更熟悉的是css的 text-decoration: line-through,这直接就可以控制给某个元素内的内容添加删除线。大家都比较熟悉这个属性,就不贴代码了,虽然实现效果一样,但从很多角度来讲,用css来实现都应该是最优秀的方案。

4、总结与思考

        我们总是无时无刻不在思考怎么降低工作量,怎么可以提升渲染速度。而这道题正中下怀,如果采用第一种方式,使用strike的js方法,那么一个项目中将会有很多的地方使用这个方法,虽然只是动动手的一个消防法,但久而久之,必定降低工作效率;

        而第二种方法,虽然方便的多,但涉及到浏览器缓存,几乎很少希望把HTML落地页进行缓存的,大部分时候缓存的是类似图片  css js这种静态资源

        为什么对于文字添加删除线,第三种css方法更加广为人知呢,因为他一旦在项目中定义好,凡是用到的地方,添加其设定的class类就可以了,而且css文件会被浏览器缓存,这样更加有助于页面的快速渲染,而且相对于第一种方法,也更加节省工作效率。

5、举一反三

        相似的问题还有:在html标签写style行内样式有什么缺点吗?

                                      怎样做一个2行5列的布局更合适?

                                      怎样用css做一个xxx

        为什么很多时候讲究能用css,就尽量别添加更多的js,一来是浏览器缓存,二来某些时候还能利用GPU加速等等吧。

        

5、感伤

        又有身边好多小伙伴即将毕业,兄弟相继凋零,好似风中落叶啊,哎

相关内容

热门资讯

落户政策居然考虑放开! 怎么,我能落户北京了? 大家好,我是孙少睡,这是我的第467篇楼市评论。 很多人的第一反应肯定是有没...
股市必读:ST泉为股东因涉嫌违... 截至2025年12月26日收盘,ST泉为(300716)报收于9.96元,下跌0.8%,换手率0.9...
日本公布犯罪白皮书:2024年... 日本法务省19日公布的2025年版犯罪白皮书显示,日本2024年刑事犯罪案件数量明显上升,其中性犯罪...
中央广电总台副台长王晓真,黑龙... 据央视新闻报道,12月28日,中央广播电视总台《2026年春节联欢晚会》分会场发布。黑龙江哈尔滨、浙...
聚焦全国财政工作会议丨明年财政... (央视财经《经济信息联播》)明年是“十五五”规划的开局之年,财政政策将聚焦哪些关键领域精准发力? ...
原创 中... 12月26日,中国对美国实施了一次重磅反制,针对美国政府前不久批准的111亿美元对台军售,中方决定出...
徐杰11分王少杰遭驱逐 张宁缺... [搜狐体育战报]北京时间12月28日消息,2025-26赛季CBA常规赛继续第7轮角逐。王少杰第三节...
《今日说法》主持人李晓东买茶叶... 12月28日,《今日说法》栏目主持人李晓东发布视频称,此前“被骗1000元买茶叶”事件迎来新进展:该...
3-0领先终于能休息了!莫德里... 在意甲第17轮的一场焦点战中,AC米兰迎战维罗纳。比赛进行到第70分钟时,AC米兰在3-0领先的情况...