这是一个基本的对象格式,里面使用参数一定要加类名,这里可以改成this.health
对象的查找:返回在控制台上
对象数据的删除:
这样person类里面的age属性就没了
构造函数创建方法就是
也可以这样:
这样的话构造函数命名规则需要满足大驼峰式命名规则,就是每个单词首字母要大写(PersonName)
构造函数内部原理:
1.也就是说比如一个构造函数:
当时,就会在内部生成一个
然后一个一个加入
最后
这些都是隐式的
在这里num被定义为一个对象,所以它可以自己加值了
但是这里对num进行乘法运算的时候依旧把num当作数字来运算了
同样,String和Bool类型都是一样的用法
下面这两个是不能进行对象操作的
这样的写法编译不会报错,但是
找不到定义的asd
再来:
先来记住一句话:原始值不可能会有属性和方法
但是这样的调用是可以的,只是答案是undefined
因为出现了包装类
也就是说这里的整个过程是当str.len=4的时候,系统自动的创建了对象并且赋了len这个值,然后又自动把他销毁了
接着到了console这句,又创建了对象,但是这个len跟前面的len是不一样的所以会在控制台返回undefined
接下来看一个示例:
数组的length是可以改变的,这样会截断的,所以输出的是
基于这个理论,那么
这样是不会截断的,因为出现了包装类的现像
解释如下:
那么依旧会输出4
这题利用了闭包,相当于把sss函数保存在了外面,在外面来访问
这题答案是x=1,y=4,z=4
因为预编译先将两个add函数提前,两次调用都是调用n=n+3的那个函数
这题答案是3 NaN NaN