你是说用什么软件写代码吗? 个人比较推荐 vscode 轻量级JS编辑器 支持 mac window linux 各个平台 https://code.visualstudio.com/
浏览器里的开发工具,快捷键F12就出来了
用的是Chrome游览器的控制台。通过F12调出。
有点 “阅后即焚” 的感觉~~
就是给这个包装对象一个为t的值,你可以去看看对象你就明白了,慢慢学,别急
不是有倍速播放吗,如果有问题,建议你换一个浏览器。firefox表现得比较稳定
原始类型不是对象,如字符串之所以有length属性是因为进行了隐式的转换为对象,但是隐式转换的对象立即销毁了,所以针对原始类型添加属性是访问不到的,返回undefined
str是一个字符串类型,不是对象类型。因此对它的属性赋值并不会被保存。所以str.t 值为undefined。只有对象类型的属性赋值会被保存。
能,在服务器端搭建nodejs环境,就可以用js做网站了
调用它属性时会临时创建对象,调用完后就销毁,创建它的t属性时,也会创建临时对象,但创建完t属性后就销毁了,然后你再调用t属性,又会创建临时对象,但此时t是木有的ok?
基本类型是没有属性的,但是在对string/number/boolean进行访问和设置属性这样的操作时,js会将其临时转换为对应的包装对象类型String/Number/Boolean,这样就可以访问或设置属性了,正如视频说的例子:
var a = "string"; //基础类型
alert(a.length); //6,访问length属性时a被转换为包装对象类型
a.t = 3;//添加t属性,这时a被转换为包装对象类型
alert(a.t); //undefined,由于上面的操作已完成,临时对象被销毁,a是基础类型,没有属性
用的是chrome浏览器console控制台,调试代码很方便。写代码,还是推荐sublime text,其他比如webstrom, atom等等,挑个顺手的
可以了解一下 vue 这个框架,vue 就是通过 getter/setter 原理实现的数据绑定。
1. var str = "string"; 这个str是基本类型string,2. str.t = 5 基本类型怎么会有属性和方法呢? 因为此时js引擎中会自动创建一个对象,即 var str = new String('string');然后再调用这个对象的方法和属性,你的 str.t = 5 语句确实没问题,但是str (这里我叫做0号)这个对象,仅仅在代码执行的一瞬间被创建,然后马上被销毁,3. alert(str.t) //undefined 此时的str.t 又会创建一个新的str对象(这个就是1号),和之前创建的str对象(0号)是不同的对象,而这个新的str对象(1号)刚创建,哪来的t属性?所以会弹出 undefined
对象a的t属性
var用来定义变量,是固定的
谷歌浏览器 按F12
a.t时的a不是对象了
花括号不是成对出现的,肯定会出错了呀
Chrome 开发者调试工具。
打开Chrome 按f12即可打开。
每次将基本数据类型当作对象使用的时候, 是临时包装的,用完一次马上就会删除,当a.length的时候,不管如何创建如何删除,它本来的值就是6是不变的。但是a.t确不一样,它是不存在的,你第一次赋值给a.t的时候创建了临时对象,但是调用完马上删除, 这个时候你在去访问a.t的值, 又建立了一个新的临时对象,肯定值是没有定义过的。
length是一直存在,而t是不存在的。