原来JScript中的关键字'var'还是有文章的

避坑指南:RFSoC数据转换器多片同步配置的7个致命错误 本文深入剖析了在配置RFSoC多片同步功能时,工程师最常遇到的七个致命错误。从Tile 0的强制启用、时钟域与SYSREF时序,到跨代器件兼容性、电源序列以及动态重配置的陷阱,文章结合实战经验,提供了从原理到调试的完整RF数据转换器配置指南,旨在帮助开发者高效构建相位一致的大规模射频采样系统。 阅读详情

本文摘自:http://www.cnblogs.com/birdshome/archive/2005/01/26/97885.html

 

都不记得是什么时候看的JScript的语法教程了,里面说在声明变量时忽略var关键字是完全合法的。当时也因为觉得JavaScript是loosely-typed的语言,所以var可能真的就是个摆设。但是事实常常又证明想当然的结果是不可靠的。

    看看下面这几个例子的结果就知道问题了:

    No.1

< script language ="javascript" >
var var00 = 0;
document.write(var00
+ '<br>');

var var01 = 1;
function foo()
{
    document.write(var01);
   
var var01 = 1;
}

foo();
</ script >


    No.2

< script language ="javascript" >
var00
= 0;
document.write(var00
+ '<br>');

var01
= 1;
function foo()
{
    document.write(var01);
    var01
= 1;
}

foo();
</ script >


    No.3

< script language ="javascript" >
var00
= 0;
document.write(var00
+ '<br>');

var01
= 1;
function foo()
{
    document.write(var01);
   
var var01 = 1;
}

foo();
</ script >


    这三个例子的执行结果分别是:

Results #region Results
No.
1
0
undefined

No.
2
0
1

No.
3
0
undefined
#endregion

     原来JavaScript的变量也是有作用域的,只是它非常的笼统,就分为全局变量和函数变量。在第二个例子中得到0和1,是因为所有的变量都是全局变量,而且那个语句块一共就定义了两个变量。而第一个第三的函数外全局变量,确实说明var关键字有没有都没有关系。而函数内的var关键字就很关键了,它说明第二个var01是函数内的变量,所以在初始化var01前输出自然就是'undefined'了。

     那么函数里面是不是就屏蔽掉了全局的var01了呢?我们知道在C/C++可以使用::去访问全局变量,那么JavaScript可不可以呢?这里其实我们只要明白了全局变量到底是什么东西,就好弄了。原来全局变量都是动态添加到Window对象的实例window上的属性而以,所以我们只要在函数内用:document.write(window.var01);就可以取到其值1了。同时在这个上下文中,function内的this也是指向的window实例,我们也可以把引用写成:this.var01。

    By the way, 重看JScript教程时,它说变量只能是[a-zA-Z_]+[a-zA-Z0-9_]*格式,可是'$'却也可以作为变量名字符,而且还可以用在开头,比如:$1234,更甚至于:$$$ 也是合法的变量名,faint。

GStreamer 源代码入门 GStreamer 是一个高度模块化的多媒体框架,其源代码结构清晰,设计精良。 阅读详情

相关推荐

从零构建智能监控系统:ZLMediaKit与SpringBoot的RTSP流处理实战

本文详细介绍了如何从零构建智能监控系统,结合ZLMediaKit与SpringBoot实现RTSP流处理。通过多协议支持、高性能架构设计及工业级部署优化,解决传统监控方案的兼容性差、延迟高等问题,适用于物联网和智能安防领域。

weixin_29002209的博客 370

关于this 和 var

很多人都觉得在javascript声明一个变量,加var和不加var没有什么区别,实际上是一个错误的观点,如果在函数外面,也就是说在window区域加不加var确实是一样,因为都会是全局变量的效果,而如果在函数内部,加var就是局部变量,不加是全局变量。 function test(){ var1 = 2; alert(var1); } test()...

yxylwt 336

华为2024机考真题集合

2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以 2,所得的结果就是中位数。在实际考试中会随机抽三道题目进行考察,其中两道100分卷题和一道200分卷题,总共400分。幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个。3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数。1.众数是指一组数据中出现次数量多的那个数,众数可以是多个。

qq_25360769的博客 5093

ES6的变量声明详述

var声明变量的问题 let与const声明变量规则以及二者的区别

桃花扇的博客 411

NVIDIA B300 vs B200:详细解析与性能对决

详细解析 NVIDIA B300 整机)的性能,并与前代的 B200 进行对比。它不仅在核心计算能力(FP8)上实现了飞跃,更重要的是通过革命性的第二代 Transformer Engine 和第五代 NVLink 技术,彻底重塑了大规模 AI 模型训练和推理的效率与规模上限。其显存容量和带宽的巨大提升也为处理超大型模型和数据提供了坚实基础。与 B200 相比,B300 是一次全面的、代际性的性能跃升,特别适合那些需要处理最前沿、最复杂 AI 和科学计算任务的用户和组织。

2401_89353317的博客 3042

【Unity3D】RTS Engine 笔记一

RTS Engine 中配置一个新场景, 初步认识GameManager、设置地形以及配置地形网格搜索

ViYeye的博客 1648

var 声明变量

05 var 声明变量 1 基本格式 // 类型放在名字的后面,行尾无需分号 var name string var age int var isOk bool = 2 批量声明 var ( a string b int c bool d float32 ) ​ = 3 变量初始化 Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作 变量若不赋值,则值为该类型的默认值 各类型的初始化默认值: 整型和浮点型变量的默认值为【0】 字符串变量的默认值为【空字

当世事再没完美,可远在岁月如歌中找你 2095

告别手动点鼠标:用Python脚本批量跑ADS版图仿真,效率提升10倍(附完整代码)

本文详细介绍了如何利用Python脚本自动化ADS版图仿真流程,显著提升射频工程师的工作效率。通过调用ADS底层接口,实现参数化修改、批量任务调度和结果自动收集,解决了手动操作中的常见问题,如仿真不更新等。附完整代码,帮助开发者快速实现10倍效率提升。

weixin_42523543的博客 331

var声明

var的使用 1,变量声明有无var的区别以及性能影响 对于es5及其以下版本的js,在声明变量时候,可以使用var,也可以直接写变量。两者是有区别的,有var根据情况可以定义全局变量或局部变量,无var则被认为是window下的全局变量。 1),两者区别: //测试1 a1 = 1; function test1(){ console.log('测试1:'+a1); a1 = 2

咖啡屋的博客 1455

Element-UI全面入门与实战技巧

Element-UI 是一套基于 Vue 2.0 的桌面端组件库,由饿了么前端团队开发并维护。它提供了一系列丰富的 UI 组件,旨在帮助开发者快速构建高效、美观的 Vue 应用程序。Element-UI 是一款遵循 Ant Design 设计规范的 Vue UI 库,它涵盖了从按钮、输入框、选择器到表格、标签、进度条等众多常用的界面元素。Element-UI 的组件不仅功能全面,而且易于定制,使得开发者可以快速实现个性化的页面设计。Element-UI 的特点包括:在使用 Element-UI 之前,需要确

全世界的博客 2863

025、Zephyr RTOS设备树覆盖与修改

本文分享了在Zephyr RTOS中使用设备树覆盖(overlay)的实战经验。作者通过一个工业数据采集项目中GPIO无法拉高的调试案例,揭示了设备树覆盖的"叠加"本质而非简单替换。文章详细介绍了覆盖文件的正确编写方式,包括节点引用、pinctrl配置等技巧,并总结了常见陷阱如状态设置不完整、别名冲突等问题。特别强调了条件覆盖的用法和调试方法,最后提出了覆盖文件管理的五项实用原则,强调设备树覆盖是硬件与软件之间的重要契约,需要谨慎对待。全文以实际项目为背景,提供了可操作性强的技术建议。

m0_50546716的博客 33

原来JScript中的关键字'var'还是有文章的 (zt)

都不记得是什么时候看的JScript的语法教程了,里面说在声明变量时忽略var关键字是完全合法的。当时也因为觉得JavaScript是loosely-typed的语言,所以var可能真的就是个摆设。但是事实常常又证明想当然的结果是不可靠的。    看看下面这几个例子的结果就知道问题了:    No.1  script language="javascript">var var00 

asfman 915

10、高阶ΣΔ调制器设计与优化

本文深入探讨了高阶ΣΔ调制器的设计与优化技术,重点介绍了NTF零点优化方法,通过分散单位圆上的零点分布提升信噪失真比(SQNR)。文章分析了量化噪声耦合技术如何有效提高噪声整形阶数,并对比了CIFB、CIFF、CRFB和CRFF等不同架构的性能特点。同时,详细阐述了基于稳定性与性能权衡的设计流程,结合Schreier的Delta-Sigma Toolbox实现NTF综合与仿真验证。内容涵盖从理论推导到实际设计步骤,为高阶ΣΔ调制器的稳定性提升与性能优化提供了系统性指导。

tgb345678的博客 134

[转]原来JScript中的关键字'var'还是有文章的

转自birdshome的博客,地址:http://www.cnblogs.com/birdshome/ 都不记得是什么时候看的JScript的语法教程了,里面说在声明变量时忽略var关键字是完全合法的。当时也因为觉得JavaScript是loosely-typed的语言,所以var可能真的就是个摆设。但是事实常常又证明想当然的结果是不可靠的。 看看下面这几个例子的结果就知道问题...

weixin_30952103的博客 85

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JScript中正则表达式用法详解

首相讲讲JScript的正则表达式对象RegExp。     JScript中提供正则表达式操作的类名为RegExp,可以用两种方式实例化RegExp类型的对象。      方法一,构造函数实例化:var myRegex = new RegExp("//w+", "igm "); ///w+为实际正则表达式,注意第一个/为转义之用,igm分别表示忽略大小写,全局搜索,多行搜索,这个后面

majiabao123的专栏 512

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

待看文档

原来JScript中的关键字'var'还是有文章的<br /> 

xiaoyu5538的专栏 316

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JScript中的undefined和"undefined"

    JScript中用于表示未定义的undefined标识符到底是表示什么未定义?它和"undefined"(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用undefined来和变量做比较,而有的时候又不行呢?    underfined和"undefined"的区别大家一眼就能看出来。在一般的认知下,我们认为undefined是JScript提供的一个"关键字",而"undefin

515

JScript多语言语法加亮引擎显示(代码精简)

上一篇文章《JScript中正则表达式用法详解》中讲解了JScript中怎样使用正则表达式,这篇文章就给出一个实际应用的例子。昨晚我一边研究JScript中正则表达式的使用就一边在做JScript的语法加亮代码,今天完善了下,但是还不是完成品就是了,只能加亮关键字和字符串,对注释和代码折叠的支持还没有做,并且现在只支持C#语法,呵呵,大家莫见笑,这个程序虽然功能还没完全但是代码很精简,做为...

weixin_34227447的博客 75

编写 JScript 代码(转)

与其他许多编程语言一样, Microsoft Jscript 是用文本方式编写的,并被组织成为语句、由相关的语句集组成的块、以及注释。在一条语句内可以使用变量、比如字符串和数字(称为“文字”)的立即数、以及表达式。   语...

cqwf95925的博客 244
上一篇: 浏览器兼容问题总结
下一篇: Javascript this关键字使用分析
VS_URL
博客等级 码龄15年 12粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值