网站建设业务员招聘,网站经营网络备案信息管理系统,淄博便宜网站设,电脑网页版qq登录入口JavaScript中的相等判断 话题: JavaScript 难度: ⭐ JavaScript中的相等判断有严格判断和带隐式转换的判断两种#xff1a;
严格判断(strict comparision): 比如#xff0c;比较的时候不会隐式转换类型#xff1b;抽象判断(abstract comparasion)#xff1a;比如#xff…JavaScript中的相等判断 话题: JavaScript 难度: ⭐ JavaScript中的相等判断有严格判断和带隐式转换的判断两种
严格判断(strict comparision): 比如比较的时候不会隐式转换类型抽象判断(abstract comparasion)比如比较的时候会隐式转换类型。
var a 42;
var b 42;a b; // true
a b; // false
复制代码
一些简单的规则
如果两边都是布尔类型的值使用;如果两边是0,,[]使用;所有其它类型使用是安全的。而且在很多情况下会简化代码、增加可读性。
请解释Null和Undefined 话题: JavaScript 难度: ⭐⭐ JavaScript和TypeScript有两个最基本的类型null和undefined。它们的含义是不同的
如果还没有被初始化则是undefined;如果不可用则可以用null来表示
请解释JavaScript中的值和类型 话题: JavaScript 难度: ⭐⭐ 下面是JavaScript内置的可用类型
stringnumberbooleannull和undefinedobjectsymbol (ES6的新语法)
如果比较JavaScript中的两个对象 话题: JavaScript 难度: ⭐⭐ 两个非基本类型的值比如对象(包括函数和数组)都是通过引用的形式来访问。如果直接通过和来判断那么只会简单的判断其引用地址是否相同而不是它们实际对应的值。
如果数组和字符串做比较那么数组会通过逗号拼接转换为字符串。通过等号判断的时候两个相同的数组不会相等但是和相同数据的字符串比较反而相等。
var a [1,2,3];
var b [1,2,3];
var c 1,2,3;a c; // true
b c; // true
a b; // false
复制代码
如果要深度比较可以使用第三方库比如deep-equal或则你自己实现一个比较算法。
请解释undefined和not defined的区别 话题: JavaScript 难度: ⭐⭐⭐ 在JavaScript中如果你尝试使用不存在的还未申明的变量JavaScript会抛出错误var name is not defined。但是如果你用typeof来查看其类型会返回undefined。
我们先来澄清一下声明和定义的区别var x是一个声明因为你并没有定义其具体的值你只是声明其存在性。
var x; // declaring x
console.log(x); //output: undefined
复制代码
var x 1同时兼具声明和定义我们也可以叫它初始化。在JavaScript中每一个变量和函数声明都会被提升到顶部。
如果我们访问一个声明了但是未定义的变量会返回undefined。
var x; // Declaration
if(typeof x undefined) // Will return true
复制代码 访问一个未声明未定义的变量会返回not defined错误。 console.log(y); // Output: ReferenceError: y is not defined参考自https://juejin.im/post/5bd95d22e51d45685f442f73