面试遇到的问题(总结面试题)

最近在找工作面试,总结遇到的面试题

部分先记录,后续再答。

1. CSS的优先级?

CSS 优先规则1: 最近的祖先样式比其他祖先样式优先级高。
CSS 优先规则2"直接样式""祖先样式"优先级高。
CSS 优先规则3:优先级关系:内联样式 > ID 选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器;
CSS 优先规则4:计算选择符中 ID 选择器的个数(a),计算选择符中类选择器、属性选择器以及伪类选择器的个数之和(b),计算选择符中标签选择器和伪元素选择器的个数之和(c)。按 a、b、c 的顺序依次比较大小,大的则优先级高,相等则比较下一个。若最后两个的选择符中 a、b、c 都相等,则按照"就近原则"来判断。
CSS 优先规则5:属性后插有 !important 的属性拥有最高优先级。若同时插有 !important,则再利用规则 34 判断优先级。

详细请参考此链接:CSS 样式优先级

2. ES6中的箭头函数的特点?

不需要function关键字来创建函数
省略return关键字
继承当前上下文的 this 关键字

关于ES6的笔试和面试题

3. vue 组件通信

1.父组件与子组件传值
	父组件传给子组件:子组件通过props方法接受数据;
	子组件传给父组件:$emit方法传递参数
2.非父子组件间的数据传递,兄弟组件传值
	eventBus,就是创建一个事件中心,相当于中转站,可以用它来传递事件和接收事件。也可使用vuex

关于VUE面试题分享

4. "123456789876543212345678987654321…"的第n位是什么?

5. JavaScript之如何让数字千位分割,即每三位一个逗号间隔(7,896,235)?
JavaScript千位分割,复杂算法

	console.log(parseInt('6451000.3213').toLocaleString());//千位分隔符  "6,451,000"

6. JavaScript随机生成11位的电话号码。

	var number = '139'
	console.log(number + Math.random().toString().slice(-6));

相关知识点:
Math.random方法 用于生成0~1之间的随机数
toString方法 用于将生成的随机数转换成字符串
slice方法 用于截取转换后的字符串,传入参数为负数时代表从字符串尾部开始朝头部方向截取
参考:随机生成10个手机号
7. 用原生js和jQuery在以下代码第一个li前面添加<li>java</li>;

	<ul class='ulTag'>
		<li>1</li>
	   <li>2</li>
	   <li>3</li>
	   <li>4</li>
	</ul>
	
	// JS写法:
	<script>
	    var liAll = document.getElementsByTagName('li');// 获取所有的li
	    var liTag = document.createElement('li')//创建一个li元素
	    liTag.innerHTML = 'ABC';//添加文本内容
	    document.getElementById('ulTag').insertBefore(liTag,liAll[0]);//在所有li下标0添加新的li
	</script>
	
	// JQ写法:
	$("#ulTag2 li").eq(0).before("<li>ABC</li>");

8. js实现每个单词的首字母大写。

    var str = 'jack marry tom!!';
    var arr = str.split(' ');//切割字符串
    for(var i = 0;i<arr.length;i++){
        arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].slice(1);//将首字母大写 拼接后面没有首字母的部分
    }
    console.log(arr.join(' '));//将数组转为字符串  Jack Marry Tom!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值