JavaScript(4)错误类型及常见报错

SyntaxError 表示语法错误。当错误的使用已经预定义的语法时会抛出此错误
TypeError 表示类型错误。当值不是预期数据类型、调用无效方法时都会抛出此错误
ReferenceError 表示引用错误。当找不到变量的引用、在变量作用域范围之外使用变量、使用未声明的变量时、在暂时性死区期间使用变量时都会抛出此错误
URIError 表示 URI 错误。当 URI 的编码和解码出现问题时,会抛出 URIError。JavaScript 中的 URI 操作函数包括:decodeURI、decodeURIComponent 等。如果使用了错误的参数(无效字符),就会抛出 URIError
RangeError 表示范围错误。将变量设置在其限定的范围之外、将值传递给超出范围的方法、调用一个不会结束的递归函数时就会抛出此错误

Uncaught SyntaxError: Unexpected token '<'

代表‘<’ 这个符号不应该存在

Uncaught SyntaxError: Invalid or unexpected token

语法错误,当出现这句话的时候,应该检查标点符号是否正确

Uncaught TypeError: Cannot read property

读取一个未定义的对象的属性或调用其方法时

Failed to load resource

文件没有被找到,说明文件引用的路径有问题,或文件损坏

Uncaught ReferenceError: $ is not defined

文件加载的顺序不对,没有被定义就被使用了,jQuery文件的顺序要在前面

Uncaught TypeError: Cannot set property 'onclick' of null

绑定了onclick事件的js文件放在head里面时就会出现这样的错误,当浏览器从上向下解析时,找不到onclick绑定的按钮节点,所以报错。需要把js文件放在底部加载。

Cannot use import statement outside a module

用了es6的语法, 浏览器默认将它作为js解析会出现问题,需要将它作为模块导入,script标签默认type="text/javascript",需要改为type="module"

微信小程序

APP-SERVICE-SDK:setStorageSync:fail write DB data fail

存储数据失败,将存储和读取数据的代码封装成模块,定义一个全局变量,存储数据时先保存一份在全局变量中,然后try-wx.setStorageSync catch-wx.setStorage,保存两次。读取时同样的。
let storageObj = {};
function getKey(key) {
  if (storageObj[key]) {
    return storageObj[key];
  } else {
    try {
      return wx.getStorageSync(key);
    } catch (err) {
      return wx.getStorage({
        key: key,
        success: function(res) {
          return res.data;
        }
      });
    }
  }
}
function setKey(key, value) {
  storageObj[key] = value;
  try {
    wx.setStorageSync(key, value);
  } catch (e) {
    wx.setStorage({
      key: key,
      data: value
    });
  }
}

http请求状态码
1xx 临时响应并需要请求者继续执行操作的状态代码
2xx 请求成功
3xx 重定向
4xx 请求出错
5xx 服务器错误

200 OK    请求成功(这是对HTTP请求成功的标准应答。)
301 Moved Permanently    所请求的页面已经转移至新的 URL
302 Found    所请求的页面已经临时转移至新的 URL 。
400 Bad Request    因为语法错误,服务器未能理解请求。
401 Unauthorized    合法请求,但对被请求页面的访问被禁止。因为被请求的页面需要身份验证,客户端没有提供或者身份验证失败。
402 Payment Required    此代码尚无法使用。
404 Not Found    服务器无法找到被请求的页面。
500 Internal Server Error    请求未完成。服务器遇到不可预知的情况。
501 Not Implemented    请求未完成。服务器不支持所请求的功能,或者服务器无法完成请求
502 Bad Gateway    请求未完成。服务器充当网关或者代理的角色时,从上游服务器收到一个无效的响应。
503 Service Unavailable    服务器当前不可用(过载或者宕机)

你可能感兴趣的:(javascript)