小误区和小知识

  1. == ===
    JavaScript中三个等号和两个等号的区别(== 和 ===)
    == equality 等同,=== identity 恒等。
    ==, 两边值类型不同的时候,要先进行类型转换,再比较。
    ===,不做类型转换,类型不同的一定不等。
    下面分别说明:

先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
再说 ==,根据以下规则:

1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻 烦,我也不大懂)
e、任何其他组合,都[不相等]。
举例:
"1" == true
类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。
= 赋值运算符
== 等于=== 严格等于

===用来进行严格的比较判断

  1. jquery插件的写法
    (function($){
    var a={};
    var b=$.fn.bootstrapTable.Constructor,
    $.fn.***=function(){};
    })(jQuery);
    fn相当于原型prototype ,在原型基础上添加对象和方法,可以让all实例都共享这个插件。

  2. 跨域
    JSONP
    就是使用script标签的src去跨域
    请求网站: 写请求网站地址++++callback函数
    响应的网站:写同名classback函数(应该是返回json数据???)

ajax(jquery)
自己封装了jsonp,so只要加上 jsonp:'callback',就能跨域不报错
缺陷: get 请求

  1. post 大量数据 一般去送数据 安全(在http的请求内容俩面)
    get 有数据大小限制 url传递数据 一般去拉取数据(在http的状态行)

end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,646评论 0 4
  • 本章内容 语法 数据类型 流控制语句 理解函数 3.1 语法 3.1.1 区分大小写 区分大小写 3.1.2 标识...
    闷油瓶小张阅读 4,066评论 0 0
  • 什么是 JavaScript 语言? JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script...
    oWSQo阅读 5,784评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • 山西窦福庆受贿案中的荒唐判决,不仅表现在法院主动放弃宪法和法律赋予的依法独立审判权,给沁县纪委、政法委、检察院发函...
    土红薯阅读 4,544评论 0 2

友情链接更多精彩内容