js复习知识点

  1. null和undefined具体在什么时候使用?
  • 如果定义的变量准备用来保存对象,那么最好用将改变量初始化为null而不是其他值
  •  如果未定义的值可以用空字符
  • undefined是null派生出来的,所以undefined==null时返回的结果是true

  2.局部变量和全局变量生命周期?

  • 局部变量会在函数运行以后被删除。
  • 全局变量会在页面关闭后被删除。

  3.循环的具体使用场景

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • for-of循环用来遍历数组
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

  4.parseint支持16进制和8进制,不支持科学计数法,pasefloat只支持10进制    0b二进制  0o八进制  0x十六进制

  多数情况下使用Number

  5.基本类型没有属性和方法,能够使用属性和方法是因为他进行了封装,创建一个临时对象,使得我们可以调用对应对象的方法.

  

    console.log("abc".charAt(0)); //a

Symbol.prototype.hello = () => console.log("hello");

var a = Symbol("a");
console.log(typeof a); //symbol,a 并非对象
a.hello(); //hello,有效

 

 

6:对象的两类属性

  • 第一类属性,数据属性。它比较接近于其它语言的属性概念。数据属性具有四个特征。 在大多数情况下,我们只关心数据属性的值即可。 第二类属性是访问器(getter/setter)属性,它也有四个特征。 访问器属性使得属性在读和写时执行代码,它允许使用者在写和读属性时,得到完全不同的值, 它可以视为一种函数的语法糖。 我们通常用于定义属性的代码会产生数据属性,其中的 writable、enumerable、configurable 都默认为 true。我们可以使用内置函数 Object.getOwnPropertyDescripter 来查看,如以下代 码所示: value:就是属性的值。 writable:决定属性能否被赋值。 enumerable:决定 for in 能否枚举该属性。 configurable:决定该属性能否被删除或者改变特征值。
    var o = { a: 1 };
    Object.defineProperty(o, "b", {value: 2, writable: false, enumerable: false, configurable: true});
    //a 和 b 都是数据属性,但特征值变化了
    Object.getOwnPropertyDescriptor(o,"a"); // {value: 1, writable: true, enumerable: true, configurable: true}
    Object.getOwnPropertyDescriptor(o,"b"); // {value: 2, writable: false, enumerable: false, configurable: true}
    o.b = 3;
    console.log(o.b); // 2

 

 

 

转载于:https://www.cnblogs.com/JankinLiu/p/10574846.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值