文章目录

  • 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-学习笔记相关推荐

  1. 7 种 Javascript 常用设计模式学习笔记

    7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...

  2. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...

  3. JavaScript进阶5-学习笔记

    文章目录 JavaScript进阶5-学习笔记 例子 JavaScript进阶5-学习笔记 参考理解:https://blog.csdn.net/hhhmonkey/article/details/1 ...

  4. JavaScript进阶4-学习笔记

    文章目录 JavaScript进阶4-学习笔记 递归 JavaScript进阶4-学习笔记 前端: 根据Ui写页面,使用vuecli+vue---测试功能---需要数据(json,array,字符串) ...

  5. JavaScript进阶3-学习笔记

    文章目录 JavaScript进阶3-学习笔记 闭包 JavaScript进阶3-学习笔记 //组件封装 什么是封装? 将冗余的代码精简化 例如:写代码:a页面有一个函数,b页面也需要这个函数,很多人 ...

  6. JavaScript进阶2-学习笔记

    文章目录 JavaScript进阶2-学习笔记 this指针 如何改变this指向 事件委托.事件冒泡 JavaScript进阶2-学习笔记 this指针 This是什么? this是Javascri ...

  7. JavaScript高级程序设计学习笔记(三)

    分享一下第五章(引用类型)的笔记,内容比较多,我拆成了两部分,今天这部分是关于Object.Array.Date和RegExp类型的. 以下的笔记是书上一些我以前学习的时候,没有太重视的js基础知识, ...

  8. vn.py全实战进阶课程学习笔记(零)

    目录 写在前面 MySQL数据库配置 安装mysq 创建数据库 vnpy数据库配置 rqdata数据服务配置 申请rqdata试用权限 vnpy参数配置 simnow仿真环境配置 准备账号 接口登录 ...

  9. 36篇博文带你学完opencv :python+opencv进阶版学习笔记目录

    基础版学习笔记传送门 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版) 进阶版笔记 项目 opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像 ...

  10. javascript高程3 学习笔记(二)

    ECMAScript function的理解 ECMAScript 函数与其他语言函数最大的不同在于,其不介意传入多少参数以及参数的类型 比如函数的形参有两个,但是调用函数传入的参数可以写一个,三个或 ...

最新文章

  1. linux kernel list_head
  2. Caffe 深度学习框架介绍
  3. POI实现Excel导出时常用方法说明
  4. python做硬件自动化测试-用python做自动化测试--Python实现远程性能监控
  5. Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread
  6. 小目标检测的福音:Stitcher,简单又有效
  7. 如何在.NET控制台应用程序中获取应用程序的路径?
  8. java算法是什么_什么是java算法
  9. 局域网电脑屏幕桌面监控怎么样
  10. 用IntelliJ IDEA自带的代码对比
  11. 基于R语言的方差分析
  12. java基本数据类型声明及初始化方法
  13. mysql查询父子关系树_根据数据的父子关系创建树形结构并实现遍历
  14. 重庆理工大学计算机转专业,2020年重庆理工大学转专业,大一新生转专业和入学考试...
  15. mc网站服务器设置家怎么圈地,我的世界怎么圈地 教你设置自己的领地
  16. 基于FPGA的波、幅、频、相可调DDS信号发生器的设计
  17. 数字孪生微电网,搭建源网荷储一体化管控平台
  18. 菜鸟、顺丰、京东物流:无“智”难行?
  19. 黑马程序员——开发工具——Eclipse
  20. MODISL1B数据FLAASH大气校正

热门文章

  1. eval?python顺序列表模拟栈实现计算器
  2. zoj 3707 Calculate Prime S
  3. 【2021最新版】如何clean或者install Maven项目——IntelliJ IDEA系列教程
  4. Web前端开发笔记——第三章 CSS语言 第二节 CSS选择器
  5. ie浏览器跳转谷歌浏览器_微软IE浏览器的命运:加速死亡
  6. requirednew基于xml配置日志不回滚_Mybatis 系列 4:引入日志框架
  7. 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
  8. 先来先服务算法代码_一致性哈希算法编写
  9. linux笔记之 rpm常用参数 ,yum安装编译器,httpd服务的开关
  10. websocket中发生数据丢失_什么是WebSocket,它与HTTP有何不同?