JavaScript学习笔记
来源:互联网 发布:传至大数据4期百度云 编辑:程序博客网 时间:2024/06/06 06:33
HTML中引用js
①在HTML中写< script>< /script>②引用外部文件< script src="js文件路径">< /script>
变量声明都用var,且变量所占内存大小随每次的赋值大小而动态变化
变量的提升(变量使用前未定义的处理)
%运算结果的符号位为第一个变量的符号
||和&&的特性,所以有赋值操作不要写在表达式中,而应写在前面或后面
NaN不能识别的number类型变量值,Infinity代表无穷(1/0)
instanceof的用法,typeof的用法,基础类型值拷贝,object类型的创建方式,默认的方法(valueOf、toString等)
object类型的访问方式(①”obj.xxx”②”obj[“xxx”]”)
关于声明的提升(结合变量提升)
//一个栗子,自己去试结果console.log(typeof value)var value; //undefinedfunction value(){ //function}//第一个栗子扩展版,自己去试结果console.log(typeof value)var value = "我很弱,不能提升?"; //undefinedfunction value(){ //function}//第二个栗子var value = function(){ alert("惊不惊喜?")}; function value(){ alert("意不意外?") }value();//第二个栗子的实际流程版var value ; function value(){ alert("意不意外?") }//var value;位置随意,只要不放在函数里面,所产生的效果都相同value = function(){ alert("惊不惊喜?")};value();
下面介绍声明的提升:
function value(){}其实就是声明一个函数,而var value是声明一个变量,所以都要提升,这时var则提升到function前面。那么为什么第一个栗子扩展版中的结果是string呢(提示:声明和赋值是两步操作,声明会提升)
//说多都是废话,吃透下面代码也就能完全理解了console.log(typeof value);var value = "我被赋值了"; //undefinedconsole.log(typeof value)function value(){ //function}
作用域:
局部变量:var关键字定义在函数内部的变量
关于传参
这里以此为蓝本去分析,实参和形参数不一致的处理
function add(){ for (var i=0;i<arguments.length;i++) { console.log(typeof arguments[i]) }}add([1,2,3],{name:123},123,true,"hello");
关于this指代内容的心得
谁调用的函数就指代谁,比如"对象.函数名(参数列表);"那么这个函数中的this 就指代这个对象(对象包含所有引用类型)。如果执行函数时没有调用者,则调用者就是内建对象global(也就是window,PS:js中内建对象有window和Math可以直接使用其中的属性方法)关于this作参数,
//几个杂乱的栗子
function outFn(){ num = 1111; function innerFn(obj){ console.log(obj); } innerFn(this);//想要输出outFn的内容}outFn() //es6会输出undefined,es5应该会输出代表window的this/*函数是对象,而对象具有属性或方法,所以有下面解决方法*/outFn.fn = outFn; //给函数对象添加方法outFn.fn(); //输出结果是outFn这个对象,因为是outFn调用的函数delete outFn.fn; //清除附加的方法,fn的取名不要与其他重名/*上面的栗子仔细研究,this指代的内容就应该比较好理解了吧*//**下面提供一个测试栗子*/(function(obj){ this.num = 1000; console.log(this)})(this);//相当于执行function fn(obj){ this.num = 1000; console.log(this)}fn(this)//怎么才能输出fn呢?系统提供了call/apply方法动态绑定以及bind方法静态绑定
阅读全文
0 0
- javascript cookie学习笔记javascript
- javascript学习笔记
- Javascript学习笔记
- JavaScript学习笔记1
- JavaScript学习笔记2
- JavaScript学习笔记3
- JavaScript学习笔记4
- JavaScript学习笔记5
- JavaScript学习笔记6
- JavaScript学习笔记7
- JavaScript 学习笔记 1
- JavaScript 学习笔记 2
- JavaScript 学习笔记 3
- JavaScript 学习笔记 4
- javascript学习笔记
- javascript学习笔记
- JavaScript学习笔记 一
- javascript学习笔记
- 编译失败
- js中call()和apply()的区别
- Jquery中的AJax技术结合PHP实现无刷新验证验证码
- 主线程和子线程
- nginx 配置 案例分析
- JavaScript学习笔记
- App中如何实现消息推送
- 技术文章|react-native之ART绘图详解
- WKWebView 内容显示不全问题
- CTP的交易指令类型
- docker容器里安装ssh
- Java Switch 和 If else 使用效率对比和分析
- 数据库大并发操作要考虑死锁和锁的性能问题
- FLASH 驱动程序设计 --- 块设备驱动设计