-
立即执行函数 函数声明中变量用var 和不用var声明
2020-10-30 13:50:27在函数内部用var声明的变量为局部变量 不用var严格来说不是为全部变量,而是看当前作用域直至顶层对象添加属性 前言 最近也是碰到一些面试题,就涉及到一些函数内部声明的变量求输出打印出什么,有极个别的特别的...提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
最近也是碰到一些面试题,就涉及到一些函数内部声明的变量求输出打印出什么,有极个别的特别的一点还是不是很清楚,特地研究了一下。
一、下面代码输出什么?
var a = 10;
(function () {
console.log(a); ----------------12行输出
a = 5;
console.log(window.a); ----------------14行输出
var a = 20;
console.log(window.a); ----------------16行输出
console.log(a); ----------------17行输出
})();
console.log(a); ----------------19行输出
console.log(window.a); ----------------20行输出还请小思考一下,我一开始的错误出现在第二个打印 会认为输出打印5,结果却是。。。
以上代码结果为:
造成结果还是因为立即执行函数是一个局部作用域,var声明的会声明提前,造成里面的同一个变量为局部变量,所以在里面一切用window.打印的都为全局对象上面的对应的值二、分析思考引出函数内部用var声明的变量和不用var声明的变量
1。立即执行函数 函数声明函数的区别
``
2。在函数内部用var声明的变量为局部变量 不用var严格来说不是为全部变量,而是看当前作用域直至顶层对象添加属性
var a = 10;
(function () {
console.log(a);
a = 5;
console.log(window.a);
console.log(a);
})();
console.log(a);
console.log(window.a);而这上面的代码不会有这个问题,输出打印结果为:
是因为没有var在立即函数内部声明同一个变量,更不会有声明提前,但是并不是说在函数内部没用var声明的变量就是全局变量了,它并不是声明了一个全局变量,而是创建了一个全局对象的属性。Javascript的变量声明、创建属性以及每个Javascript中的每个属性都有一定的标志说明它们的属性----如只读(ReadOnly)不可枚举(DontEnum)不可删除(DontDelete)等等。由于变量声明自带不可删除属性,比较var a = 10 跟 a = 5,前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的一个属性,因此可以从全局变量中删除。
-
go 环境变量说明
2017-06-22 22:20:02但是命令源码文档 不是必须的 每个工作区的目录结构都类似: src/ 用于存放源码 以代码包为组织形式 pkg/ 用于存放归档文件(名称以.a为后缀的文件) bin/ 用于存放当前工作区中的GO程序的可执行文件 当环境...工作区和GOPATH
工作区是存放go源码文件的目录
一般情况,狗源码文件都需要存放到工作区中
但是命令源码文档 不是必须的
每个工作区的目录结构都类似:
src/ 用于存放源码 以代码包为组织形式
pkg/ 用于存放归档文件(名称以.a为后缀的文件)
bin/ 用于存放当前工作区中的GO程序的可执行文件
当环境变量GOBIN设置生效时,该目录没有意义
当GOPATH的值中包含多个工作区的路径是,必须设置GOBIN,否则无法成功安装GO程序的可执行文件
两个隐藏的go语言环境变量 GOOS 操作系统 GOARCH计算架构
-
-
C语言把printf中的数据存入txt文档
2012-05-17 10:26:50程序如下 #include void main() ... // 声明一个文件流类型的变量,FILE 为 stdio.h 里定义的 ... //用 fopen 函数打开文件,第一个参数表示文件名,若不是当前 // 路径请加 \\ 号,如 C:\\Windows程序如下
#include <STDIO.H>
void main()
{
FILE *fp; // 声明一个文件流类型的变量,FILE 为 stdio.h 里定义的
fp=fopen("1.txt","w"); //用 fopen 函数打开文件,第一个参数表示文件名,若不是当前
// 路径请加 \\ 号,如 C:\\Windows\\System32,"w" 表示写(write)
if (fp!=NULL) // 打开成功
fprintf(fp,"%d",1);
// fp 文件流变量,"%d"写入格式,1 是写入的数据
}
程序执行后,只要你有权限写文件,那么将会在当前目录产生 1.txt用记事本打开,里面有一个 1
像这样调用程序:
aaa.exe >1.txt (重写)
或
aaa.exe >>1.txt (追加)printf函数的主要功能是按一定的格式将数据显示在(输出到)屏幕上,将数据写入txt文档(此文档一定要存在)的较好方法是使用函数fput()或fputs(),前者是一次写入一个字符,后者是一次写入一个字符串。一般的写入过程是,先打开文件,然后操作文件,最后记住要关闭文件。主要代码如下:
FILE *pf;
if((pf=fopen("你的txt文档名字","打开的模式"))==NULL;//你的txt文档最好放在当前目录下,打开的模式有r(只读)、w(只写)、a(追加)等以及相应的组合。
{
//打开失败,出错处理
}
else
{
lseek(pf,nPos,SEEK_CUR);//将文件指针从当前位置移动到nPos处
char szTxt[128];
memset(szTxt,0,sizeof(szTxt));
printf(szTxt,"%d",12345);
if((fputs(szTxt,pf))!=EOF)
{
//完成写入
}
else
{
写入出错
}
}
fclose(pf);打开stdio.h,你会发现……对,就是他:freopen函数,意为在原有FILE基础上打开一个标准文件。好了,我们就利用这样的便捷,把stdout这个程序启动时被设定的FILE map到一个标准文件,这样,printf()函数就立即输出到指定文件中。记住要用fclose关闭stdout。
FILE * __cdecl freopen(const char *, const char *, FILE *);
freopen就像fopen一样方便
转自:http://www.programfan.com/club/showpost.asp?id=44096&t=o
-
-
-
-
CAD快捷键文档
2011-12-17 19:02:10IAT,*Imageattach: 向当前图形中附着新的图像对象 ICL,*Imageclip: 为图像对象创建新剪裁边界 INF,*Interfere:用两个或多个三维实体的公用部分创建三维复合实体 IN,*Intersect:用两个或多个实面或面域的交集创建... -
vue项目如何刷新当前页面
2018-12-25 10:51:23https://cn.vuejs.org/v2/api/#provide-inject 这是vue 文档中描述使用过程 provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。 需要注意的是这里不论子...https://cn.vuejs.org/v2/api/#provide-inject 这是vue 文档中描述使用过程
provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。
需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能从当前父组件的prop属性来获取数据。
下面我这边整理几种可圈可点的三种方式,大家可以自行的选择:
1、最直接整个页面重新刷新:
location. reload()
this.$router.go(0)
这两种都可以刷新当前页面的,缺点就是相当于按ctrl+F5 强制刷新那种,整个页面重新加载,会出现一个瞬间的空白页面,体验不好2、新建一个空白页面supplierAllBack.vue,点击确定的时候先跳转到这个空白页,然后再立马跳转回来
空白页supplierAllBack.vue里面的内容:
这个方式,相比第一种不会出现一瞬间的空白页,只是地址栏有个快速的切换的过程,可采用
3、provide / inject 组合 方式是我试过最实用的,下面用项目截图给大家说明下:首先,要修改下你的app.vue
通过声明reload方法,控制router-view的显示或隐藏,从而控制页面的再次加载,这边定义了
isRouterAlive //true or false 来控制
然后在需要当前页面刷新的页面中注入App.vue组件提供(provide)的 reload 依赖,然后直接用this.reload来调用就行
-
uboott移植实验手册及技术文档
2010-01-28 19:18:03关,如果没有定义这个宏,系统调用 drivers/nand/nand.c 中的 nand_init();否则调用自己在 本文件中的 nand_init()函数,本例使用后者。fs2410.c代码如下: #if defined(CONFIG_CMD_NAND) typedef enum { NFCE_... -
超级有影响力霸气的Java面试题大全文档
2012-07-18 09:47:041.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是... -
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串
2017-05-06 20:26:52 删除环境变量中的PATHT CLASSPATH中包含Oracle的值。 删除“开始”/“程序”中所有Oracle的组和图标。 删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ... -
Visual Studio程序员箴言中文扫描PDF
2010-12-28 01:04:18技巧3.6 使用“查找”组合框在当前文档中进行快速查找 60 技巧3.7 自定义“查找”组合框(ctrl+d)搜索 60 3.2.2 快速替换 61 技巧3.8 使用ctrl+h键打开“快速替换”窗口 61 技巧3.9 在首次搜索到匹配项之后... -
21天学通C++ (中文第五版)
2010-06-23 16:57:037.5.4 for循环中声明的变量的作用域 7;6 循环小结 7.7 使用switch语句控制程序流程使用switch语句来处理菜单 7.8 小结 7.9 问与答 7.10 作业 7.10.1 测验 7.10.2 练习 第1周复习 第2周课程简介 第8章 ... -
Python核心编程第二版(中文)
2015-04-23 16:40:136.18.2 元组也不是那么“不可变” 6.18.3 默认集合类型 6.18.4 单元素元组 6.18.5 字典的关键字 6.19 相关模块 6.20 *拷贝Python对象、浅拷贝和深拷贝 6.21 序列类型小结 6.22 练习 第7章 映像和集合类型 ... -
file1_demo
2018-01-22 13:26:18# 设置当前文档的编码格式,在python3中,所以的字符编码统一为unicode编码,所以python3中可以不用写这句话print('你好') # 当行注释,对代码的解释,不是代码不会被程序执行 ‘’‘ 多行注释 ‘’‘ # ... -
selenium怎样在多窗口中运行程序 (1)
2012-06-26 19:46:15断言:当测试中的一个用例存在错误时,系统将会退出当前用例 总而言之,确认和断言的不同在于,当出现错误情况之后,系统将会如何处理。 .test case 和testsuite的区别? test case是一个用例 test suite是一组... -
Python核心编程(中文第二版)
2009-10-02 12:08:141.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,print语句及“Hello World!” 2.2 程序输入和raw_input()内建... -
浏览器和NodeJS中不同的Event Loop
2020-12-29 07:19:19那么可以关闭当前文档了hhh) 下文中对这段代码会再做分析 <pre><code>js setTimeout(() => console.log('setTimeout1'), 0); setTimeout(() => { console.log('setTimeout2'... -
latex-makefile:可以直接使用的不错的乳胶makefile-源码
2021-02-03 09:31:12生成文件应通过在当前目录的tex文件中查找\begin{document}来自动识别主文档。 makefile的主要思想不是直接修改它,而是通过make配置文件config.mk 。 在这里,您可以为项目设置许多重要变量,例如详细程度QUIET=1... -
Java 注解
2020-12-22 06:54:31而注解则不是,注解的作用比较大,可以进行编译检查、生成doc文档或者进行代码分析。 java语言中的类、方法、变量等都可以被标注。java标注可以通过反射获取标注内容,在编译器生成类文件时,标注可以被嵌入到字节码... -
阅读QtCreator需要知道的qmake
2017-06-23 17:40:08qmake文档真的不是很全,好多变量都不知道到哪里去找他们的用法,只能暂时copy源码中的部分来用,之后再慢慢学习。这里总结一下查找到资料的qmake知识。 _DATE_ 当前日期和时间 _FILE_ 当前qmake正在解析的文件... -
Python globals() locals() vars() 三个内建函数的区别
2019-10-02 12:58:58返回当前全局符号表, 通常是返回当前模块下的全局符号表, 比如全局内建的函数,以及模块里的全局符号(定义声明的变量,类, 实例等), 在函数或者类方法中, globals()返回的模块符号表 是其所在模块, 而不是调用模块. ... -
Octave打开桌面文件加载和储存及索引矩阵
2019-04-24 00:51:31在文件系统中加载和查找数据 pwd 显示出当前路径 cd 移动到某个路径 ls 显示出我路径里的东西 我选的是桌面,所以。。。。。 load 加载文档(前提文档得在桌面,前面已经设置了路径就在桌面了) 上图提醒了这个... -
beis报告官方发展援助:报告官方发展援助(RODA)-源码
2021-02-09 17:53:10报告官方发展援助(RODA) 该服务使商业,能源和工业战略部(BEIS)及其交付合作伙伴能够收集和报告有关官方发展... 我们使用“示例”而不是“开发”(来自Dotenv文档)来与当前的dxw约定保持一致,并使其更加明确地表 -
Python 面向对象
2018-10-09 18:02:00Python 面向对象 1、类需要用class声明 2、class后声明的类需要用:冒号结尾 ...1、类中的函数的第一个参数是’self’,self指的是当前类的实例,而不是类 其他知识点 1、_init_是类实例化的时候,会自动... -
scikit-learn 文档,中文文档 https://scikit-learn.org/stable/ https://github.com/apachecn/sklearn-doc-zh/ 2,架构设计 全系使用python实现。因为都是python的类库,互相之间调用方便。 从数据抓取,数据处理...
-
javascript入门笔记
2018-05-15 15:01:074、通过 r 和 PI 来计算 该圆的面积,保存在变量s中 面积 = π * r * r; 5、在控制台中打印输出 半径为 * 的圆的周长是 * 半径为 * 的圆的面积是 * 笔记本名称:ThinkPad E460 笔记本价格:3000 笔记本... -
不同JavaScript运行时的入口文件不同 ,请查看文档后面相应平台的引入方式,但在浏览器、Node、React Native中引入的方式是一样的,下面是不同平台下的引入的方式: 浏览器、Node、React Native中引入 //引入fly...
-
c代码样式:标准C99或更高版本的推荐C代码样式和编码规则-源码
2021-02-01 20:30:28因此,无论本文档如何建议,如果已经编写了代码并且正在修补它,即使它不是您喜欢的样式,也请保持其当前样式一致。 一般规则 这里列出了最明显和最重要的一般规则。 在继续其他章节之前,请仔细检查它们。 使用...
-
i5 11300h和r7 4800u哪个好 i5 11300h和r7 4800u的区别
-
基于Hypervisor虚拟化技术的Hadoop云平台管理方案的研究.docx
-
精通编译Makefile,Nina, 从底层uboot到Android
-
DES的ECB加密解密汇总.zip
-
MySQL NDB Cluster 负载均衡和高可用集群
-
成绩文件合并.txt
-
用Go语言来写区块链(一)
-
自制Python第三方库安装器
-
MPC第1期.rar
-
用微服务spring cloud架构打造物联网云平台
-
window上宽高度总结
-
Galera 高可用 MySQL 集群(PXC v5.6 + Ngin
-
i5 11300h和r7 5800u哪个好 i5 11300h和r7 5800u性能差多少
-
Nezzar and Lucky Number
-
客户端向日葵SunloginEnterprise_3.0.0.27372.exe
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
东南大学历年c++复试题.zip
-
SQL漏洞初次认识
-
教你如何做h5页面,轻松用模板来制作H5页面
-
数学—买不到的数目