E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
#前端面试题
2020-02-21时间记录
综合类-技术之瞳算法类-剑指Offer、
前端面试题
做好总结,算法先从简单的刷起。各个方面都可以同时进行。以免后面来不及时间记录:(1)7:40-9:36划水起床刷牙洗脸(2)9:36-10:00吃饭
296b871d5cd0
·
2024-01-06 00:12
前端页面的生命周期
我们以一道常见的
前端面试题
目:从浏览器地址栏输入URL后,到页面渲染出来,整个过程都发生了什么?来引入这个话题。整个过程分为
hzulwy
·
2024-01-05 22:23
前端
性能优化
性能优化
前端
2022秋招
前端面试题
(五)(附答案)
实现一个扇形用CSS实现扇形的思路和三角形基本一致,就是多了一个圆角的样式,实现一个90°的扇形:div{border:100pxsolidtransparent;width:0;heigt:0;border-radius:100px;border-top-color:red;}复制代码数组有哪些原生方法?数组和字符串的转换方法:toString()、toLocalString()、join()其
helloworld1024
·
2024-01-05 21:50
前端面试题
--持续更新中
前端面试题
--持续更新中JS面试题基本数据类型引用数据类型Null和undefined区别ES10新增BigInt数据类型存储与堆栈内存堆和栈的存储机制数据类型判断数据类型转换Number(),parseInt
ChenFengYeSe
·
2024-01-05 11:44
前端相关
vue.js
html
前端
javascript
前端面试题
--vue篇(持续更新中)
1.★★动态路由如何动态获取参数,如何获取?第一种方式:存:在声明路由路径的时候存入要存放的参数名称{path:'/News/:id',component:News,},取:在,在to的位置存放要存放的参数格式为/News/6新闻第二种方式:使用query存储的方式:存:取:在News的mounted中取:this.$route.query.id特点:1.参数和值都在地址栏体现2.刷新值不会丢失第
苦逼的猿宝
·
2024-01-01 17:03
前端面试题
vue.js
前端
javascript
前端总结
2023最新高频
前端面试题
总结(附答案)1.vue双向数据绑定原理核心:在Vue内部会使用Object.defineProperty方法将其转换为“getter”和“setter”。
*阿漓*
·
2024-01-01 11:35
前端
vue.js
javascript
2019-03-20(
前端面试题
目汇总)
转载自#web前端开发面试遇到的题目1、解释html语义化?回答:用正确的标签做正确的事情。html语义化让页面的内容结构化、结构更清晰、便于对浏览器、搜索引擎解析;即使在没有css样式的情况下,也以一种文档格式显示,并且是容易阅读的;搜索引擎的爬虫也依赖于html标记来确定上下文和各个关键字的权重,利于SEO;使阅读代码的人对网站更容易对网站分块,便于阅读维护理解。2、块级元素与行内元素的区别?
前端开发菜鸟
·
2023-12-31 02:32
【前端高频面试题】 浏览器地址栏输入网页地址后发生了什么?
.DNS服务器域名解析2.建立TCP连接3.发送http请求4.服务器处理请求并返回响应结果5.关闭TCP连接(2)浏览器加载阶段6.浏览器解析HTML7.JS的加载随堂小练习总结前言最近看了很多分享
前端面试题
的帖子
new个对象玩游戏
·
2023-12-30 17:04
面试题
前端
http
网络
前端面试题
:当浏览器地址栏输入Url发生了什么?
前端角度:首先浏览器查找当前URL是否存在缓存,并比较缓存是否过期,如果浏览器没有查找到缓存或者缓存已经过期,那么DNS将对url进行解析,解析成对应的ip地址,根据ip地址建立Tcp连接(三次握手)客户端向服务器发送http请求,一般请求为get和post(getpost区别)服务器收到请求,最终返回给客户端响应体,响应成功状态码为200(常见的状态码),浏览器根据响应体内的html生成相应的d
明哥前端
·
2023-12-30 17:04
html
html5
http
前端
2020-02-22时间记录
综合类-技术之瞳算法类-剑指Offer、
前端面试题
做好总结,算法先从简单的刷起。各个方面都可以同时进行。
296b871d5cd0
·
2023-12-30 16:20
h52206
前端面试题
汇总(134题)
前端面试题
(2022最新)1.什么是防抖和节流有什么区别答:函数节流是:在固定的时间内触发事件,每隔n秒触发一次。函数防抖是:当你频繁触发后,n秒内只执行一次。区别:防抖和节流本质是不一样的。
guigu2012
·
2023-12-30 10:29
前端
HTML
JavaScript
前端
javascript
json
前端面试题
--小程序篇(持续更新中)
1.小程序开发和h5开发的区别?小程序和H5网页开发都属于移动端开发,它们存在以下几点不同:应用场景:小程序是一种基于微信、支付宝等平台应用开发的方式,能够向用户提供与原生应用类似的体验。而H5网页则是基于在浏览器的Web应用程序,在各种浏览器中皆可访问。使用环境:小程序只能在微信或支付宝等平台内使用,需要先下载对应APP,再进入小程序进行使用。而H5网页则不需要下载APP,在任何支持JavaSc
苦逼的猿宝
·
2023-12-30 10:27
前端面试题
前端
小程序
web
前端面试题
@十三(浏览器渲染页面的原理及流程、call,apply和bind的区别及扩展)
一、浏览器渲染页面的原理及流程浏览器将域名通过网络通信从服务器拿到html文件后,如何渲染页面呢?1.根据html文件构建DOM树和CSSOM树。构建DOM树期间,如果遇到JS,阻塞DOM树及CSSOM树的构建,优先加载JS文件,加载完毕,再继续构建DOM树及CSSOM树。2.构建渲染树(RenderTree)。构建渲染树,根据渲染树计算每个可见元素的布局,并输出到绘制流程,将像素渲染到屏幕上。(
王芃皓
·
2023-12-30 06:56
2018-08-29日
前端面试题
点击查看源码快速排序原理以某个基数为准进行排序将小于基数的数放到左边将大于基数的数放到右边//定义快速排序函数functionquickSort(array){functionsort(nonius,numSize){varfirst=nonius;varend=numSize-1;varflag=array[first];if(firstarray[end]){array[first]=arra
我的昵称好听吗
·
2023-12-29 22:29
大厂
前端面试题
总结(百度、字节跳动、腾讯、小米.....),附上热乎面试经验!
先简单介绍下自己,我“平平无奇小天才”一枚,毕业于南方普通985普通学生,有幸去百度、字节面试,感觉大公司就是不一样,印象最深的是字节,所以有必要总结一下面试经验,以及面试中遇到的一些问题,以便大家参考:本文目录投简历的过程面试前做出的准备快要面试时做出的准备面试前奏,其实很紧张面试题目大厂面试特点面试总结最后投简历的过程首先肯定是找一个简洁不浮夸却有很精美的简历模板,然后将自己的信息填上去,主要
关注我学前端
·
2023-12-29 06:24
前端
前端面试
前端
百度
面试
程序人生
前端框架
职场和发展
前端面试题
面试题1.闭包篇1.1作用域作用域就是一套规则,用于确定在何处以及如何找变量标识符的规则。(就是查找变量的地方)1.2作用域链函数之间的嵌套形成了作用域链。1.3词法作用域词法作用域是作用域的一种工作模式。在你写代码时将变量和块作用域写在哪里来决定,也就是词法作用域是静态的作用域,在你写代码时就确定了。1.4闭包的概念当函数可以记住并访问它的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之
流星先生!
·
2023-12-29 02:32
前端
javascript
Vue 自定义组件v-model父子组件传值双向绑定
{{message}}[](()去除它的语法糖{{message}}[](()自定义组件如何使《大厂
前端面试题
解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源徽信搜索公众号【编程进阶路
m0_70647189
·
2023-12-28 13:36
Web前端
经验分享
前端
前端框架
前端面试题
汇总
https://github.com/rohan-paul/Awesome-JavaScript-Interviewshttps://github.com/nieyafei/front-end-interview-js前端面试interview的Js题目收集https://github.com/jimuyouyou/node-interview-questionsNode.js面试题,侧重后端应用
若年
·
2023-12-28 06:13
前端面试题
归类-css
网页看着不方便,想要文档可以私聊我。要是有错别字和错误的地方,请各位大佬直接指出,谢谢啦!!盒模型说下盒模型?有两种盒模型,W3C盒模型和IE盒模型。通常说的“IE盒子模型”指的是IE5.5,IE6及其以后,盒模型都为content-box。当浏览器未设置声明时,盒模型都为border-box。通过css3的box-sizing属性,可以更改元素的盒子模型。标准W3C盒子模型的范围包括margin
奶糖 肥晨
·
2023-12-27 06:17
css
面试题
定位
html
css
面试
3d
前端面试题
css
CSSCSS属性是否区分大小写?CSS属性名和属性值在大多数情况下是不区分大小写的,但也有少数例外情况,如font-variant和text-decoration等属性与其值中的某些字母是区分大小写的。建议在编写CSS代码时还是严格遵守大小写以避免不必要的错误。CSS的盒模型?CSS盒模型包括标准盒模型和IE盒模型。其中标准盒模型(box-sizing:content-box;)的宽度和高度只包括
攻城狮啊尧
·
2023-12-26 16:14
前端
前端
css
前端面试题
html
HTMLDOCTYPE有什么作用?DOCTYPE是一种指示浏览器以何种HTML或XHTML规范来解析文档的声明。它能够告知浏览器网页文档使用的标记语言的类型以及版本,从而确保浏览器能够正确地展示网页内容。DOCTYPE声明通常位于HTML文档的开头,是HTML文档的必须部分。img标签的title和alt属性有什么区别alt属性用于为图像提供替代文本,即使图像无法加载,也可以描述图像内容,提高网页
攻城狮啊尧
·
2023-12-26 16:13
前端
前端
html
java
【前端 · 面试 】HTTP 总结(三)—— HTTP 请求方法
最近我在做
前端面试题
总结系列,感兴趣的朋友可以添加关注,欢迎指正、交流。争取每个知识点能够多总结一些,至少要做到在面试时,针对每个知识点都可以侃起来,不至于哑火。
隐逸王
·
2023-12-24 19:16
超新、超全
前端面试题
大全(附项目源码)
1HTML、CSS相关HTML5HTML5新特性增强了表单,input新增了一些type:color----定义调色板tel-----定义包含电话号码的输入域email—定义包含email地址的输入域search–定义搜索域number–定义包含数值的输入域date----定义选取日、月、年的输入域Video视频标签;Audio音频标签;语义化标签;datatime-local定义文档类型的简写地
梦之归途
·
2023-12-24 16:22
面试
前端
面试
前端面试题
(计算机网络):options请求方法及使用场景
OPTIONS请求方法及使用场景回答思路:什么是options请求-->options请求方法-->options使用场景什么是options请求?(浅入)扩展:常见的HTTP请求有什么?扩展:常见的HTTP请求的作用?options请求方法(深入)options使用场景回答思路:什么是options请求–>options请求方法–>options使用场景什么是options请求?(浅入)是HTT
laowang357
·
2023-12-24 08:51
前端
计算机网络
前端面试
2023
前端面试题
(计算机网络):HTTP和HTTPS协议的区别
HTTP和HTTPS协议的区别回答思路:费用区别-->传输协议区别-->端口号区别-->连接难易程度-->安全性1.费用区别2.传输协议的区别3.端口号区别4.连接难易程度5.安全性回答思路:费用区别–>传输协议区别–>端口号区别–>连接难易程度–>安全性1.费用区别HTTPS协议需要CA证书,费用较高;但是HTTP协议不用,费用更低一些2.传输协议的区别HTTP协议是超文本传输协议,信息是明文传
laowang357
·
2023-12-24 08:21
http
前端
计算机网络
前端面试
前端面试题
(计算机网络):HTTP 1.0 和 HTTP 1.1 之间有哪些区别?
HTTP1.0和HTTP1.1之间有哪些区别?回答思路:记住HTTP1.1是HTTP1.0的plus(升级版),直接讲1.1比1.0怎么好怎么好了,连接方面-->请求资源方面-->缓存方面-->新增字段-->新增请求方法连接方面请求资源方面新增字段新增请求方法扩展:什么是断点续传?回答思路:记住HTTP1.1是HTTP1.0的plus(升级版),直接讲1.1比1.0怎么好怎么好了,连接方面–>请求
laowang357
·
2023-12-23 16:15
前端
计算机网络
http
前端面试
2020-04-01时间记录
划水(6)16:36-17:51玩游戏(7)17:51-18:12吃饭(8)18:12-23:00玩游戏promise创新实践项目:用户信息创新实践项目:应用列表、删除应用复盘钉钉面试网上找常见的简单的
前端面试题
296b871d5cd0
·
2023-12-23 07:15
前端面试题
汇总含答案
前端工程师JavaScript面试题/训练题1.[单选题]有以下ES6代码function*gen(){yield1;yield2;yield3;}下面选项描述正确的是哪个?A.gen()执行后返回2B.gen()执行后返回undefinedC.gen()执行后返回一个Generator对象D.gen()执行后返回1来自:百度2016研发工程师笔试真题(三)答案:C提示:这是ES6的新featur
LilyCoder
·
2023-12-22 23:24
前端
前端
javascript
html
css3
面试
web
前端面试题
目--css篇(2019年实战整理)
css篇一、css3的新特性(不列全部,捡重点回答)1、CSS3选择器:last-child、nth-child(n)、nth-last-child(n)等。点此查看更多2、@Font-face(加载字体样式)3、Transition,Transform和Animation(动画相关)这三个特性是CSS3新增的和动画相关的特性。TransitionTransition可以在当元素从一种样式变换为另
会飞的大白鲨
·
2023-12-22 15:20
小猿圈web
前端面试题
汇总
现如今开发语言从最早的iOS、Android发展到了java、python、linux、html5多种多样,学习的人群也是越来越多,程序员是高薪职业,所以很多年轻的大学生以及高中生都会选择自学,而学习web前端开发的朋友也是相对人群较多的群体,但是web前端开发工程师仍旧供不应求,那么为什么学习的人那么多,但是岗位还没有得到满足呢,是以为大部分程序员只是会写,面试的时候笔试就被poss了,下面小猿
小猿圈IT教育
·
2023-12-22 01:50
前端面试题
(计算机网络):什么是HTTP状态码304?状态码304多好还是少好?
什么是HTTP状态码304?状态码304多好还是少好?什么是HTTP状态码304?回答思路:缓存状态码多的原因?304状态码出现过多造成的问题?回答思路:搜索引擎结果扩展:什么是网站快照?什么是HTTP状态码304?回答思路:缓存为了提高网站的访问速度,对之前访问的部分页面进行缓存,当客户端在此对这些页面进行请求时,服务器会根据缓存的内容,判断页面与之前的页面是否相同,若相同便直接返回304,然后
laowang357
·
2023-12-21 15:40
计算机网络
前端
前端面试题
(计算机网络):常见的HTTP请求头和响应头
前端面试题
(计算机网络):常见的HTTP请求头和响应头HTTPRequestHeader常见的请求头:HTTPResponsesHeader常见的响应头:常见的Content-Type属性值有以下四种:
laowang357
·
2023-12-20 06:51
前端
计算机网络
http
个人整理的六个
前端面试题
1..mvvm的理解mvvm是model-view-view-model的缩写model代表数据类型,也可以在model中定义数据修改和操作的业务逻辑view代表UI组件,负责将数据模型转换uiviewModel监听模型数据的改变和控制视图的行为,同步的view和model的对象,链接model和viewmvvm架构下,view和model没有直接联系,通过viewModel进行交互,view和m
芜湖程序kiNG
·
2023-12-20 04:47
2022-04-18
前端面试题
1、说说你对this的理解?答、this是一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
菜包
·
2023-12-19 20:33
数组对象排序 (arr.sort())
前端面试题
库(面试必备)推荐:★★★★★地址:
前端面试题
库对象排序(arr.sort())描述方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。
前端技术栈
·
2023-12-19 15:55
前端助力器
算法
数据结构
排序算法
前端面试题
(计算机网络):GET和POST的请求的区别是什么?
声明:什么是幂等请求?答:不管对同一资源请求多少次返回的结果都相同Post和Get是HTTP请求的两种方法,其区别如下:应用场景:GET请求是一个幂等请求,一般Get请求用于对服务器资源不会产生影响的场景,比如说请求一个网页的资源。而Post不是一个幂等请求,一般用于对服务器资源会产生影响的情景,比如注册用户这一类的操作。是否缓存:因为两者应用场景不同,浏览器一般会对Get请求缓存,但很少对Pos
laowang357
·
2023-12-19 06:08
计算机网络
前端面试
前端
前端面试题
(计算机网络):POST和PUT请求的区别
目的:POST请求用于向服务器提交数据,用于创建新资源或处理数据。PUT请求用于向服务器上传数据,用于更新或替换指定资源,不会增加数据的种类,无论进行多少次put操作,其结果并无差异。幂等性:POST请求通常不是幂等请求(请看:什么是幂等请求及get和post请求的区别),即多次相同的POST请求可能会导致多个相同的资源被创建。PUT请求是幂等的,即多次相同的PUT请求会得到相同的结果。数据处理:
laowang357
·
2023-12-19 06:08
计算机网络
前端面试
前端
javascript
前端面试题
总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)持续更新
文档描述本文是关注微信小程序的开发和面试问题,由基础到困难循序渐进,适合面试和开发小程序。并有热点框架(vuereactnode.js全栈)前端资源以及后端视频资源和源码并基于前端进阶和面试的需求总结了常用插件和js算法以及html/css和js热点面试题文档答案Vue面试题生命周期函数面试题1.什么是vue生命周期2.vue生命周期的作用是什么3.第一次页面加载会触发哪几个钩子4.简述每个周期具
weixin_44869631
·
2023-12-19 01:17
html5
vue.js
css3
typescript
reactjs
前端面试题
精编2020(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)持续更新
文档描述本文是关注微信小程序的开发和面试问题,由基础到困难循序渐进,适合面试和开发小程序。并有热点框架(vuereactnode.js全栈)前端资源以及后端视频资源和源码并基于前端进阶和面试的需求总结了常用插件和js算法以及html/css和js热点面试题文档答案Vue面试题生命周期函数面试题1.什么是vue生命周期2.vue生命周期的作用是什么3.第一次页面加载会触发哪几个钩子4.简述每个周期具
MingL520
·
2023-12-19 01:45
面试
html5
vue.js
css
typescript
reactjs
前端面试题
js总结
实现JavaScript继承原型链继承:这招有点粗糙,适合对象简单的情况。就像大家共用一把刷子一样,得注意别乱动,不然会影响其他人。构造继承:挺直截了当的,通过在子类构造函数中调用父类构造函数。不过有点不足,父类原型上的方法没法继承。实例继承:就是把父类实例当成子类的“学习资料”。方便点,可以调用父类方法,但也只能是“实例方法”。拷贝继承:这就有点暴力,直接把父类的东西都拷贝给子类。适合小规模的数
梦醒了_该正视自己了
·
2023-12-14 14:03
javascript
前端
开发语言
《
前端面试题
必备技能点》:这篇文章讨论了前端面试的一些重要技能点它还提供了一些实用的提示和技巧
目录1.在JavaScript中,如何声明变量?2.如何将JavaScript代码包含在HTML文件中?3.下面哪个是JavaScript的数据类型?4.下面哪个方法用于将字符串转换为数字?5.如何在JavaScript中创建一个函数6.下面哪个方法用于渲染HTML元素的内容?7.如何使用JavaScript更改HTML元素的样式?8.如何在JavaScript中循环数组?9.如何在JavaScr
阿猫的故乡
·
2023-12-06 22:58
前端
JavaScript
webAPL
前端
面试
职场和发展
javascript
前端面试题
回答(vue) - 草稿
1:说明一下使用vue对项目开发的好处vue框架采用了渐进式开发的原理,就是你项目需要什么,就导入什么,可以用在大项目上,在个人项目上也有很好的体验。组件化开发,使界面复用性得到提高,spa技术,只有一个html界面,变化效果通过路由组件的切换产生,不会导致界面的刷新。双向绑定技术,使我们可以将代码集中在逻辑上,而不是dom节点的操作上,提高了性能2:讲解一下mvvm模式的基本了解mvvm是一种设
林技术总监
·
2023-12-06 20:45
前端面试题
之数据处理
1.实现数组的乱序输出有正序和倒序两种:constarr=[1,2,3,4,5];//for(leti=0;i0;i--){constj=Math.floor(Math.random()*(i+1));[arr[i],arr[j]]=[arr[j],arr[i]];}console.log(arr);2.实现数组扁平化functionflatten(arr){letres=[];for(leti=
冰镇白干
·
2023-12-06 01:48
面试题
前端
javascript
开发语言
前端面试题
09
74、定义类的方法有哪些在JavaScript中,定义类的方法有以下几种方式:1.使用函数声明:functionMyClass(){//constructor}MyClass.prototype.methodName=function(){//methodbody};2.使用类的方法缩写(ES6引入):classMyClass{methodName(){//methodbody}}3.使用对象字面
LINGYI_WEN
·
2023-12-03 22:53
前端面试题
前端
深度
前端面试题
方面
1.一些开放性题目1.自我介绍:除了基本个人信息以外,面试官更想听的是你与众不同的地方和你的优势。2.项目介绍3.如何看待前端开发?4.平时是如何学习前端开发的?5.未来三到五年的规划是怎样的?什么是W3C标准?站点标准,不是谋一系列的标准,而是一系列标准的集合,网页由三部分组成:结构,行为,表现,三者分离;结构是XHTML和HTML行为是css表现是JS(DOM,ECMAScript)等。什么是
学习笔记999
·
2023-12-03 03:13
前端面试题
“前端八股文背诵版“,终于整理完了,堪称最强!
为了帮助大家更好地掌握前端开发的相关知识,小编整理了一份
前端面试题
合集,供大家参考。
摸鱼吃榴莲的只只
·
2023-12-01 18:21
前端
前端面试
前端
面试
javascript
程序人生
职场和发展
前端面试题
前端知识1.ES6新特性:let、const:变量声明拥有块作用域,不会变量提升,但会暂时性死区。解构赋值:consta={...obj,val1:1,val2:2}即扩展运算符…class关键字:实现类、对象继承。super、constructor、extends等。模板字符串、函数参数默认值、Symbol基本数据类型Map、和对象区别:key可以为任意值,对象key必须为string或symb
HM-7
·
2023-11-30 11:51
javascript
css
css3
node.js
vue.js
前端面试题
全面整理
本篇文章整理总结了一些
前端面试题
,涵盖面很广,并且面的都是知名大厂,所以这些题还是很有代表性的,都掌握以后一面基础面应该没什么问题,二面也能应付大半,奉上:css相关1.万能居中1.margin:0auto
QY_NO.1
·
2023-11-30 03:37
前端面试题
:
第一题:说一下rem和em的区别:rem与em都是相对单位,我们使用它们的目的就是为了适应各种手机屏幕。rem是根据html根节点来计算的,而em是继承父元素的字体。对于em和rem的区别一句话概括:em相对于父元素,rem相对于根元素。rem中的r意思是root(根源),这也就不难理解了。第二题:用过弹性盒吗?答:弹性盒子容器的属性与应用display:flex/inline-flexflex-
土鳖班长大大
·
2023-11-29 18:18
前端面试题
:实现一个带并发限制的异步调度器 Scheduler
题目:实现一个带并发限制的异步调度器Scheduler,保证同时运行的任务最多有N个。完善下面代码中的Scheduler类,使得以下程序能正确输出:classScheduler{add(promiseCreator){...}//...}consttimeout=(time)=>newPromise(resolve=>{setTimeout(resolve,time)})constschedule
不知云起时
·
2023-11-29 08:03
前端
javascript
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他