2024年最全JavaScript_02(1),2024年最新抖音四面被拒再战头条终获offer

最后

正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端资料图.PNG

主流浏览器(必须有独立内核且市场份额大于3%)内核名称
IEtrident
Chromewebkit/blink
firefoxGecko
operapresto
Safariwebkit

开始学习js

  • js 三大部分 ECMAScriptDOMBOM
  • 如何引入 js?
  1. 页面内嵌<script></script>标签,写 head 里面也行,写 body 里面也行
例:
<body>
  <script type="text/javascript"> //告诉浏览器我们是 js
  </script>
</body>

  1. 外部 js 文件,引入<script src=“location”></script>
    例如:以 lesson.js 保存文件,再引入到 html 中。
    为符合 web 标准(w3c 标准中的一项)结构(html)、行为(js)、样式(css)
    相分离,通常会采用外部引入。
  • 如果同时写了内部的 js 和外部的 js,那么是外部的 js 文件显示出来。

js基本语法

  • HTML,css 不是编程语言,是计算机语言,编程语言需要有变量和函数。
  • 变量声明
    1)声明、赋值分解
    var a; 这个叫变量声明。我们向系统中申请了 var 这个框,命名叫 a 给 a 赋值 100,写作 a =100,这里不是等号是赋值的意思。
    var a ; a =100;可以简化写成 var a=100;
    2)单一 var 声明法
    var a,b,c,d;————>单一 var 模式
    在这里插入图片描述3)命名规则——起变量名一定要以英文语义化,见名知意。
    1.变量名必须以英文字母,_$ 开头
    2.变量名可以包括英文字母、_$、数字
    3.不可以用系统的关键字、保留字作为变量名。
    在这里插入图片描述

基本语法

  • js 是动态语言,动态语言基本上都是解释性语言,解释性语言基本上都是脚本语言。js 是浮点型语言(带小数点)。
  • 值类型(数据类型)
  1. 不可改变的原始值(栈数据)栈 stack
    Number,String,Boolean,undefined,null
    已经放进去的值不可改变,只会改房间编号为 null(硬盘原理)
  • Number 数字,例 var a = 123;
  • String 字符串,语言放双引号里,例 var a=”语言”,““是空串
  • Boolean 布尔数字,就两个值,false,true
  • undefined 是没有定义的,表示还没赋值,仅一个值 underfined
  • null 代表空,占位用,用空值来覆盖
    var a =10;
    var b = a;
    a = 20;
    document.write(b);
    答案:10
    原始值是我把一个值放到另一个值里面,改了第一个值,第二个值不变。
  1. 引用值(堆数据)大致上放堆 heap 里面
  • array 数组, Object, function … data,RegExp 正则
    var arr = [1,2,3,4,5,false,”abc”]; //这是数组
    例:var arr = [1];
    var arr1 = arr;
    arr.push(2);
    document.write(arr1);
    答案:arr 是 1,2。arr1 是 1,2
    引用值是把第一个值放到第二个值里面,改第一个值,第二个值也改变。
    补充:js 由值决定类型。原始值和引用值唯一的不同是赋值形式不同
    在这里插入图片描述var a = 10;var b =a;是 a 先取出 10,copy 一份放到 b 里面,改变 a 的值,b 的值是不
    变的,再把 a=20;时 b 的值还是 10,不发生改变
  • var arr = [1,2]; var arr1 =arr; arr.push(3);
    答案:这往[1,2]放 3,arr 和 arr1 都是[1,2,3]
    引用值是在栈内存里面放堆的地址,拷贝的也是地址,所以改变 arr,arr1 也变了。
  • var arr = [1,2]; var arr1 =arr; arr = [1,3]; document.write(arr1);
    答案:arr = [1,3];是新建了一个新的房间。arr1 是 1,2,现在是插入新引入值”房间”,
    会在堆里面重新申请一间房,并指向新房间。
  • js 语句基本规则
  1. 语句后面要用分号结束“”但 function test(){}for(){}if(){}后面都不用加分号
  2. js 语法错误会引发后续代码终止,但不会影响其它 js 代码块
    错误分为两种:
    1)低级错误(语法解析错误),不能写中文
    2)逻辑错误(标准错误,情有可原,错的那个执行不了)
  3. 书写格式要规范,“= + / -”两边都应该有空格

js运算符

一、运算操作符
+

  1. +”作用:数学运算、字符串链接
  2. 任何数据类型加字符串都等于字符串。
    例: var a = “a”+ true + 1; //打印 atrue1
    例: var a = 1 + “a” + 1 + 1; //打印 1a11
    例: var a = 1 + 1 + “a” + 1 + 1; //打印 2a11,从左向右运算
    例: var a = 1 + 1 + “a” +( 1 + 2); //打印 2a3

- \* /
例: var a = 0 – 1; //等于-1
var a = 2 * 1; //等于 2
var a = 0 / 0; //答案是 NaN,应该得出一个数字类型的数,但是没法表达,就用 NaN (NaN 是 Not a Number 非数,不是数,但是是数字类型)
var a = 1 / 0; //是 infinity
var a = -1 / 0; //是-infinity

%:摩尔,模,是取余数的意思。
var a =5%2; //5%2 是五除二的余数,商二余一
var a =5%1; //是五除一的余数,结果是 0
var num = 1 % 5; //意思是 1 除以 5 的余数。商 0 余 1
var a =4%6 ;//是四除六的余数,结果是 4
var a = 4; a % = 5; document.write(a); // 4
var a = 0; a % = 5; document.write(a); //0
var a = 10; a %= 2; document.write(a);//0

ES6

  • 列举常用的ES6特性:

  • 箭头函数需要注意哪些地方?

  • let、const、var

  • 拓展:var方式定义的变量有什么样的bug?

  • Set数据结构

  • 拓展:数组去重的方法

  • 箭头函数this的指向。

  • 手写ES6 class继承。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

微信小程序

  • 简单描述一下微信小程序的相关文件类型?

  • 你是怎么封装微信小程序的数据请求?

  • 有哪些参数传值的方法?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值