JavaScript进阶1-学习笔记
文章目录
- JavaScript进阶1
- 预解析
- 作用域
- 面向对象的写法
JavaScript进阶1
预解析
//预解析
//1)
console.log(a);
var a = 1;
//解析过程
var a;
console.log(a);
a = 1;//2)例子
console.log(f);
var f = 123;
function f(){console.log(456);
}
//解析过程
var f;
function f(){console.log(456);
}
console.log(f); //function 当变量和函数同名时,优先留下函数的值(不管谁先谁后,函数优先级更高)
f = 123;//4)
var x = 100;
function x(){console.log(456);
}
console.log(x); //100
//解析过程
var x;
function x(){};
x = 100;
console.log(x);//5)
console.log(a,b,c,d,e);
var a = 10;
var b;
c = 30;
function d(){console.log('d')
};
var e = function(){console.log('e')
}
//解析过程
var a;
var b;
function d(){};
var e;
//c 错误//面试题console.log(a);var a = 1;function a(){console.log(2)};console.log(a);var a = 3;console.log(a);function a(){console.log(4)}console.log(a);//解析过程// var a;// function a(){console.log(2)};// function a(){console.log(2)}; //当变量和函数同名时,优先留下函数的值(不管谁前或后,函数优先级更高)// function a(){console.log(4)}//执行过程// console.log(a); ===>function a(){console.log(4)}// a = 1;// console.log(a); ===>1// a = 3;// console.log(a); ===>3// console.log(a); ===>3
作用域
//作用域 ES5 全局作用域 局部作用域 ES6添加块级作用域
var x = 10; //全局作用域
function f1(){var y = 100; //局部作用域 console.log(x)
};
function f2(){var z = 1000; //局部作用域 console.log(x)
};
console.log(y);//1)var a = 1; //全局作用域function f1(){ //f1可访问 avar b = 2; //b属于f1下的作用域function f2(){var c = b; // 2b = a; //1a = c; //2console.log(a,b,c); // 2 1 2};f2();};f1();//2)var a = 1;function f1(){console.log(a); // 1};f1();//3)function f1(){var a = 1;};f1();console.log(a); // 报错//4)var a = 1;function f1(){console.log(a);a = 2;};f1();console.log(a);//解析过程// var a;// function f1(){};// a = 1;// f1(); a = 2;// console.log(a); == > 2//5)//重点:全局变量和局部变量不同名时,作用域是整个程序//全局变量和局部变量同名时,全局变量的作用域不包含同名局部变量的作用域var a = 1;function f1(){console.log(a); // undefinedvar a = 2;};f1();console.log(a); // 1// 面试题var a = 10;function f1(){var b = 2*a; //2*undefined ==>NANvar a = 20;var c = a+1; //21console.log(b);console.log(c);};f1();
面向对象的写法
//可见前JavaScript基础2文章
链接:https://blog.csdn.net/hhhmonkey/article/details/118367248
JavaScript进阶1-学习笔记相关推荐
- 7 种 Javascript 常用设计模式学习笔记
7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...
- JavaScript进阶5-学习笔记
文章目录 JavaScript进阶5-学习笔记 例子 JavaScript进阶5-学习笔记 参考理解:https://blog.csdn.net/hhhmonkey/article/details/1 ...
- JavaScript进阶4-学习笔记
文章目录 JavaScript进阶4-学习笔记 递归 JavaScript进阶4-学习笔记 前端: 根据Ui写页面,使用vuecli+vue---测试功能---需要数据(json,array,字符串) ...
- JavaScript进阶3-学习笔记
文章目录 JavaScript进阶3-学习笔记 闭包 JavaScript进阶3-学习笔记 //组件封装 什么是封装? 将冗余的代码精简化 例如:写代码:a页面有一个函数,b页面也需要这个函数,很多人 ...
- JavaScript进阶2-学习笔记
文章目录 JavaScript进阶2-学习笔记 this指针 如何改变this指向 事件委托.事件冒泡 JavaScript进阶2-学习笔记 this指针 This是什么? this是Javascri ...
- JavaScript高级程序设计学习笔记(三)
分享一下第五章(引用类型)的笔记,内容比较多,我拆成了两部分,今天这部分是关于Object.Array.Date和RegExp类型的. 以下的笔记是书上一些我以前学习的时候,没有太重视的js基础知识, ...
- vn.py全实战进阶课程学习笔记(零)
目录 写在前面 MySQL数据库配置 安装mysq 创建数据库 vnpy数据库配置 rqdata数据服务配置 申请rqdata试用权限 vnpy参数配置 simnow仿真环境配置 准备账号 接口登录 ...
- 36篇博文带你学完opencv :python+opencv进阶版学习笔记目录
基础版学习笔记传送门 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版) 进阶版笔记 项目 opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像 ...
- javascript高程3 学习笔记(二)
ECMAScript function的理解 ECMAScript 函数与其他语言函数最大的不同在于,其不介意传入多少参数以及参数的类型 比如函数的形参有两个,但是调用函数传入的参数可以写一个,三个或 ...
最新文章
- linux kernel list_head
- Caffe 深度学习框架介绍
- POI实现Excel导出时常用方法说明
- python做硬件自动化测试-用python做自动化测试--Python实现远程性能监控
- Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread
- 小目标检测的福音:Stitcher,简单又有效
- 如何在.NET控制台应用程序中获取应用程序的路径?
- java算法是什么_什么是java算法
- 局域网电脑屏幕桌面监控怎么样
- 用IntelliJ IDEA自带的代码对比
- 基于R语言的方差分析
- java基本数据类型声明及初始化方法
- mysql查询父子关系树_根据数据的父子关系创建树形结构并实现遍历
- 重庆理工大学计算机转专业,2020年重庆理工大学转专业,大一新生转专业和入学考试...
- mc网站服务器设置家怎么圈地,我的世界怎么圈地 教你设置自己的领地
- 基于FPGA的波、幅、频、相可调DDS信号发生器的设计
- 数字孪生微电网,搭建源网荷储一体化管控平台
- 菜鸟、顺丰、京东物流:无“智”难行?
- 黑马程序员——开发工具——Eclipse
- MODISL1B数据FLAASH大气校正
热门文章
- eval?python顺序列表模拟栈实现计算器
- zoj 3707 Calculate Prime S
- 【2021最新版】如何clean或者install Maven项目——IntelliJ IDEA系列教程
- Web前端开发笔记——第三章 CSS语言 第二节 CSS选择器
- ie浏览器跳转谷歌浏览器_微软IE浏览器的命运:加速死亡
- requirednew基于xml配置日志不回滚_Mybatis 系列 4:引入日志框架
- 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
- 先来先服务算法代码_一致性哈希算法编写
- linux笔记之 rpm常用参数 ,yum安装编译器,httpd服务的开关
- websocket中发生数据丢失_什么是WebSocket,它与HTTP有何不同?