即使我已经尝试了所有解决方案,我仍然收到标题中的错误。关于null的值;
If my code is ;
Output: TypeError: Cannot read property of null
<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>case '!facebook':
face.Profile(facebook, function(result) {
let like = result.profiles.like;
let comments = result.profiles.comments;
if(like === null || comments === null){
//code.
}
else {
//code.
}
});
break;</code></pre>
</div>
</div>
最佳答案
在引用下一个级别之前,您必须验证对象的每个子对象是否存在。在您的情况下,这意味着在尝试使用 profiles
中的任何对象值之前先测试 result
的存在,然后测试 result.profiles
的存在。请参阅下面的代码。
如果没有看到 case
语句的其余部分或如何设置 face
的值,就很难判断是否会遇到其他问题。
case '!facebook':
face.Profile(facebook, function(result) {
// Set default values
let like = null;
let comments = null;
// Set values only if there's a result containing profiles
if (result && result.profiles) {
like = result.profiles.like;
comments = result.profiles.comments;
}
if (like === null || comments === null){
//code
} else {
//code
}
});
break;
关于javascript - 类型错误 : Cannot read property of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60469769/