文末
js前端的重头戏,值得花大部分时间学习。
推荐通过书籍学习,《 JavaScript 高级程序设计(第 4 版)》你值得拥有。整本书内容质量都很高,尤其是前十章语言基础部分,建议多读几遍。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。
学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。
面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。
这是288页的前端面试题
count
}
}
父传子
// father组件
setup() {
//father作为父级组件,通过provide函数提供数据共享(不限层次)
// provide只能向下传递数据,向子孙组件传递数据
provide(‘globalVal’,‘这是father组件传递过来的值’)
const str = ref(‘str’)
provide(‘globalStr’,str)
return{
str
}
}
// One组件
setup() {
const val = inject(‘globalVal’)
const str = inject(‘globalStr’)
provide(‘globalStr’,‘这是one组件传递过来的值’)
return {
val,
str
}
}
// Two组件
setup() {
// inject通过自定的函数名获取到父级组件的共享数据
const val = inject(‘globalVal’)
// 父组件和爷组件都有globalStr,引用近的父组件内容
const str = inject(‘globalStr’)
return {
val,
str
}
}
常用加值方法
const addUser = () => {
// alert(data.val);
// 向数组的前面加一条数据
// 向前添加
data.todos.unshift({ name: data.val, show: false });
// data.todos.push(//向后添加
// {name:data.val,show:false}
// )
data.val = “”;
};
代码抽离
import userAdd from ‘…/hook/userAdd.js’
export default {
setup() {
const {total,val,todos,addUser} = userAdd();
return{
total,val,todos,addUser
}
},
};
// 自定义函数
// function userAdd() {
// const data = reactive({
// val: “”,
// todos: [
// { name: “学习”, show: false },
// { name: “敲代码”, show: false },
// ],
// });
// const addUser = () => {
// // alert(data.val);
文末
js前端的重头戏,值得花大部分时间学习。
推荐通过书籍学习,《 JavaScript 高级程序设计(第 4 版)》你值得拥有。整本书内容质量都很高,尤其是前十章语言基础部分,建议多读几遍。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。
学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。
面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。
这是288页的前端面试题