关于js基础easy忘记的那些事儿「建议收藏」

关于js基础easy忘记的那些事儿

大家好,又见面了,我是全栈君。

1.Number()

通过这个函数转化后的值仅仅有两个:数值和NaN,通过parseInt也能转化为数值。可是像“134df”转化后的值为134,而Number(“134df”)则是NaN;

2.String()

转化成字符的方法有两种:调用toString()和String(),通过String()转化后有5种类型:字符串;”true”或者”false”;null;undefined;数值。

3.逻辑非!             非空非0非对象都是false

! 对象→false

! ” “→true

! 非空字符串→false

! 0→true

! 非0数值→false

! NaN→true

! undefined→true

4.逻辑与 &&

  1. 假设第一个是对象。则返回第二个操作数
  2. 假设第二个是对象。则仅仅有在第一个是true的情况下才会返回第二个数
  3. 假设当中一个是null,则返回null
  4. 假设当中一个是NaN,则返回NaN
  5. 假设当中一个是undefined,则返回undefined
5.逻辑或 ||
  1. 假设第一个是对象,则返回第一个操作数
  2. 假设第一个是false,则返回第二个操作数
  3. 假设两个都是对象,则返回第一个操作数
  4. 剩下的NaN,undefined。null和逻辑与一样。不同的是这时须要两个操作数都是NaN或undefined或null
6.关系操作符(>,<,<=,>=)

  1. 假设两个操作数都是数值。那么直接比較
  2. 假设了两个操作数都是字符串,则比較字符串相应的字符编码值。而且大写字母的字符编码所有<小写字母的字符编码
  3. 假设一个操作数是数值,要把另外一个也转化为数值,然后比較
  4. 假设有一个是对象,则调用该对象的valueOf方法,没有的话调用toString方法,之后依据前面的规则进行比較
  5. 假设有一个是布尔值,则将其转化为数值进行比較
  6. 要比較之前 null和undefined不能被转化为其它值
  7. null = undefined
  8. NaN跟谁都不相等
  9. false == 0→true     true == 1→true   true == 2→false  null == undefined→true null == 0→false undefined == 0 →false 
 7.对象的变量名存放的不是对象而是对象的引用。对象放在堆上面
var obj = new Object();
var obj2 = obj;
obj2.name = “tom”;
alert(obj.name);答案是tom,由于在赋值的时候实际上是把指向这个对象的引用赋值给了obj2,所以当当中一个改变时,另外一个的属性值也会改变,由于他们指向的是同一个空间;而var a = 10;
var b = a;则是简单的将a的值赋值给了b;
8.js垃圾收集方式有两种:标记清除 和 引用计数法。如今眼下的浏览器大多数使用的是标记清除法,可是ie什么的仅仅有在9之后才算全然使用。由于ie9之前的一些比方dom对象本身採用的是引用计数策略。所以即使使用的是标记清除,也仅仅是除了dom对象之外的其它原生的js对象採用的是这些。在ie9时进行了修复,把dom和bom转化成了原生的js对象,这时才是全然的标记清除。
循环引用:
var elem = document.getElementById(“div);
var obj = new Object();
elem.someProperty = obj;
obj.someProperty = elem;因此造成了循环引用。为了解除循环引用我们能够在使用完成之后将其置为null,即elem.somePropery = null;obj.someProperty = null;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116149.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux修改密码命令passwd_linux重置系统到刚安装状态

    linux修改密码命令passwd_linux重置系统到刚安装状态新建Linux系统修改密码一、首先,打开VMwareWorkstation软件,在自己的界面打开虚拟机二、打开虚拟机后在如下界面单击鼠标左键使鼠标“消失”,按上下键使界面停留在如下所示,白条停留在第一行,再点击“e”键三、单击“e”键后进入如下界面,在linux…quiet这段代码后,initrd之前输入“rd.break”,再按ctrl+x启动进入下一个界面四、在以上界面中依次输入mount-oremount,rw/sysr

    2025年9月22日
    5
  • android之如何使用Android的搜索框架

    当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并能增加如语音搜索和搜索建议等功能。基础知识A

    2022年3月10日
    113
  • mapminmax数据归一化(第一次完整看好help文档)

    mapminmax数据归一化(第一次完整看好help文档)mapminmax一、[Y,PS]=mapminmax(X)函数功能:将矩阵的每一行压缩到[-1,1],其中当前行的最大值变为1,最小值变为-1。(这是默认的参数)扩展:(修改参数)1.[Y,PS]=mapminmax(X,YMIN,YMAX)将矩阵的每一行压缩到[YMIN,YMAX],其中当前行的最大值变为YMAX,最小值变为YMIN。2. [Y,

    2022年6月20日
    59
  • Web登录其实没那么简单

    Web登录其实没那么简单

    2021年11月3日
    39
  • qtcpsocket多线程_qtcpsocket接收数据

    qtcpsocket多线程_qtcpsocket接收数据简述最近在写有关网络传输的项目,使用了Qt封装的QTcpSocket,但是发现很多的跨线程导致死机的问题,也许是我了解的不够深入吧。最开始是自己继承一个线程然后把套接字传递到线程使用遇到程序崩溃;否决后使用了QObject::moveToThread()的方式,虽然程序可以正常发送接收数据但是对于QTcpSocket(moveToThread后属于子线程)与主线程的交互并不是很友好,还是存在一些问题;最后是考虑到了QTcpSocket跨线程崩溃说明它本身内置了一些发送或者接收的线程,这样…

    2025年10月14日
    3
  • error link2019无法解析的外部符号_inferior

    error link2019无法解析的外部符号_inferior最近在用VS2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019。百度一下讲的并不够全面,反正都没解决我的问题。errorLNK2019问题在VC6.0中是errorLNK2001:unresolvedexternalsymbol问题,可能错误号改了。编译时出现类似这样的错误:Dlgcode.obj:errorLNK2019:无法解析的外部符号_readRe…

    2022年9月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号