我想知道JavaScript null和undefinedJavaScript 之间的区别.
为什么被null认为是objectJavaScript?
正在检查
if ( object == null )
Do something
Run Code Online (Sandbox Code Playgroud)
同样的
if ( !object )
Do something
Run Code Online (Sandbox Code Playgroud)
?
并且:
null和之间有什么区别undefined?
在JavaScript中检查字符串之间的相等性的正确方法是什么?
在jQuery的核心风格指南建议两种不同的方法来检查一个变量是否被定义.
typeof variable === "undefined"variable === undefinedobject.prop === undefined为什么jQuery对全局变量使用一种方法而对本地和属性使用另一种方法?
在许多情况下,JavaScript的类型强制相等运算符不可传递.例如,请参阅" JavaScript等同传递性很奇怪".
但是,是否有任何情况下,在==没有对称?也就是说,这里a == b是true和b == a是false?
javascript symmetric equivalence ecma262 comparison-operators
我有一个代码,我不清楚
var a = null;
if(a==undefined)
alert("true");
else
alert("false");
Run Code Online (Sandbox Code Playgroud)
当我在上面运行代码时,它会发出警告.
任何人都能解释一下这背后的原因或概念吗?
定义一个函数,myJoin,最多接受两个参数:
arrayseparator (字符串,可选)myJoin应该返回一个字符串,其中将数组中的所有元素连接在一起。分隔符应分隔连接的元素:
myJoin(['a', 'b', 'c'], '+'); // => "a+b+c"
Run Code Online (Sandbox Code Playgroud)
如果未定义分隔符,则','用作默认分隔符。
myJoin(['Peter', 'Paul', 'Mary']); // => "Peter,Paul,Mary"
Run Code Online (Sandbox Code Playgroud)
如果数组中的任何元素是undefined或null,则应将它们替换为返回字符串中的空字符串。
myJoin(['hello', undefined, 'world'], '-'); // => "hello--world"
Run Code Online (Sandbox Code Playgroud)
我无法使用内置join方法。
到目前为止,我已经尝试过:
function myJoin (array, separator) {
let newString = "";
if (separator = undefined) {
separator === ",";
}
else {
for (let i = 0; i < array.length; i++) {
newString = i + separator;
}
}
newString …Run Code Online (Sandbox Code Playgroud)