以下 JS 代码不适用于函数中的 .length 属性
2019-11-23
120
let isValidPassword = function (password) {
if (password.length <= 8 && password.includes('password')) {
console.log('Password is not according to Company Policy.');
} else {
console.log('Password is accepatble!');
}
}
isValidPassword();
此处 password.length 不起作用。
错误为: TypeError:无法读取未定义的属性“length” 位于 isValidPassword(C:\Users\Gitanshu Choudhary\Desktop\modern_js\hello_earth.js:163:18) 位于 Object。 (C:\Users\Gitanshu Choudhary\Desktop\modern_js\hello_earth.js:169:1) 在 Module._compile (internal/modules/cjs/loader.js:956:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10) 在 Module.load (internal/modules/cjs/loader.js:812:32) 在 Function.Module._load (internal/modules/cjs/loader.js:724:14) 在 Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) 在 internal/main/run_main_module.js:17:11
2个回答
您在这里也犯了一个错误,即
&&
,您的意思是如果密码小于8并且其中必须存在密码字符串,它会给您正确的结果,否则就是错误的。如果两者都为真,则代码将被执行,但它是假的。
true && true // true
true && false // false
这是正确的结果:
let isValidPassword = function (password) {
if (password.length <= 8 || password.includes('password') ) {
console.log('Password is not according to Company Policy.');
} else {
console.log('Password is accepatble!');
}
}
isValidPassword('passwordkksk');
谢谢!
Ericgit
2019-11-23
调用函数时,您必须传递一些参数。
在您的情况下,它应该是这样的:
isValidPassword('password');
或使用变量
let pass = 'abc@123';
isValidPassword(pass)
Yash Sartanpara
2019-11-23