JScript中的隐式变量声明和var变量声明

JScript中的undefined和“undefined“的差异及JavaScript技巧 在上面的示例中,x === undefined的结果为true,而y === undefined的结果为false。而对于"undefined",typeof返回"string"。在JScript(一种Microsoft的JavaScript实现)中,undefined和"undefined"是两个不同的概念。为了避免混淆,建议避免将字符串"undefined"用作变量的值,以免与特殊的undefined值混淆。在这种情况下,变量x被赋值为字符串"undefined",而不是特殊的undefined值。 阅读详情

JScript中的隐式变量声明和var变量声明

以前一直没注重到JScript中隐式变量声明和var显式变量声明的区别,虽然其间碰到一些问题,但没有引起太大 的注重。直到今天写了几个函数,查了一下参考手册,觉得有必要改变一下传统隐式声明的习惯做法,以免带来不必要的麻烦。在手册中是这样描述“变量声明” 的:
  
  变量在脚本中的第一次出现是在声明中。变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用 var 要害字来进行变量声明。
  
  var count; // 单个声明。
  var count, amount, level; // 用单个 var 要害字声明的多个声明。
  var count = 0, amount = 100; // 一条语句中的变量声明和初始化。
  假如在 var 语句中没有初始化变量,变量自动取 JScript 值 undefined。尽管并不安全,但声明语句中忽略 var 要害字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 要害字。
  
  这里对“过程级声明变量的范围”显然没有说明白,也许是中英文翻译的问题。让我们来看一个实例:
  
  function foo1(){
  for(i=0;i<10;i++) ;
  }
  
  function foo2(){
  alert(i);
  }
  
  foo1();
  foo2(); 猜猜这样会有什么输出?还是错误?
  事实是弹出一个对话框:10。但是假如先调用foo2()或把foo1()改成这样:
  function foo1(){
  var i;
  for(i=0;i<10;i++) ;
  }
  却是什么都没有出现,而是一个脚本错误的提示:“i is undefined”。
  
  所以我们可以看出,假如在函数中隐式声明了某个变量,那该变量将成为全局变量!像原foo1()函数中的变量i,循环后的值10将被保留,在foo2 中就显示出来了。但是,假如在foo1()中用var显示声明了i,那它就是函数级的局部变量,在调用foo2()时自然无法找到i了。
  
  看来在写JScript时虽然系统答应隐式变量声明使用,但我们还是应该进行显式的变量声明,尤其是对习惯的循环变量等,以保证它的使用范围。

JScript中文帮助:全面掌握JScript脚本编程 本文还有配套的精品资源,点击获取 简介:JScript是基于ECMAScript标准的微软脚本语言,主要用于Windows和IE浏览器。本帮助文件提供了对JScript基础语法、函数、对象、事件处理、AJAX、DOM与BOM操作等核心知识点的详细解释,并介绍了不同版本的JScript差异、浏览器兼容性问题。文件内含API参考、教程和示例代码,旨在帮助初学者深入理解和应用JS... 阅读详情

相关推荐

JScript中文帮助文档完整指南

本文还有配套的精品资源,点击获取 简介:JScript是一种基于ECMAScript的脚本语言,适用于Windows和Internet Explorer。本帮助文档为开发者提供JScript的语法、对象、函数和方法的详尽说明,涵盖基础语法、内置对象、事件处理、DOM操作、AJAX、错误处理、与.NET交互、版本差异及调试工具。通过学习这些内容,开发者可以高效进行Web开发和...

weixin_36431145的博客 1701

显式声明变量和隐式声明变量的区别

区别1:在函数中,显式声明变量式局部变量,隐式变量 式全局变量; 区别2:隐式声明的变量可以被删除,显式变量不能删除; 区别3:隐式声明变量的默认配置configurble为true,显式声明变量的默认配置configurable为false; var abc=123 显示声明 str='abc' 隐式声明 打印 console.log ( window.abc ) 123 console.log ( window.str ) str 删除 delete window.abc delete win

weixin_46383743的博客 3815

JavaScript与JScript的区别及深入理解

本文深入探讨了JavaScript与JScript之间的差异,并详细介绍了JavaScript语言的核心特性、语句、函数、对象、字符串处理、数学运算和表单验证等关键概念。此外,文章还提供了对文档对象模型(DOM)的理解,以及在Netscape Communicator和Microsoft Internet Explorer中的对象模型。通过本章内容的分析,读者将能够对JavaScript语言和其应用有一个更全面的认识。

weixin_36178216的博客 815

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

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

weixin_34010949的博客 245

Javascript var变量隐式声明方法

在JavaScript中,var用来声明变量,但是这个语法并不严格要求,很多时修改,我们可以直接使用一个变量而不用var声明它。

ajax异步回调函数中给外部变量赋值的问题探讨

ajax异步回调函数中给外部变量赋值的问题在本文将为大家详细探讨下,感兴趣的朋友可以参考下

C语言的隐式声明

C语言中有几种声明类型可以省略,例如:函数不显示地声明返回值类型,它就默认返回整型。写如下代码: #include"stdio.h"   Demo(void) {        return 8; }   main(void) {        printf("return value of function:%d\n",Demo());        return 0;

小灰笔记 4517

保姆级教程:用再生龙Clonezilla Live给Ubuntu系统做全盘备份与恢复(含BIOS设置避坑)

本文提供了一份详细的Clonezilla Live教程,指导Ubuntu用户如何轻松完成全盘备份与恢复。从启动盘制作、BIOS设置避坑到备份参数解析和恢复操作,涵盖了所有关键步骤和常见问题解决方案,帮助用户高效保护系统数据。

weixin_42116058的博客 646

JS 变量

变量在脚本中的第一次出现是在声明中。变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用 var 关键字来进行变量声明。var count; // 单个声明。var count, amount, level; // 用单个 var 关键字声明的多个声明。var count = 0, amount = 100; // 一条语句中的变量声明和初始化

397

AI Agent Harness Engineering 创业PMF验证工具:用户满意度+留存率+业务指标监测表

在AI Agent创业的浪潮中,我们看到了无数产品如雨后春笋般涌现,但最终能够真正找到PMF并存活下来的却寥寥无几。根据CB Insights的数据,创业公司失败的首要原因(占42%)是"没有市场需求"——换句话说,就是没有找到PMF。AI Agent产品由于其特殊性(交互范式的变革、技术复杂度高、用户期望管理困难等),PMF验证变得更加具有挑战性。传统的SaaS产品PMF验证框架虽然有参考价值,但无法完全适用于AI Agent这种新型产品形态。

AI智能探索者的博客 336

时频分析之STFT:短时傅里叶变换的原理与代码实现(非调用Matlab API)

STFT function [STFT, f, t] = mystft(x, win, hop, nfft, fs) % function: [STFT, f, t] = stft(x, win, hop, nfft, fs) % % Input: % x - signal in the time domain % win - analysis window function % hop - hop size % nfft - numb

frostime的博客 13万+

JScript 的变量

任何编程语言中,用一块数据量化一个概念。How old am I?在 Jscript 中,变量是给概念的名称;它代表了给出瞬间的值。当使用该变量时,实际是用的它所代表的数据。给出示例:NumberOfDaysLeft = EndDate – TodaysDate;机械的理解是使用变量来存储、得到并操作脚本中出现的所有的不同值。创建有意义的变量名称;便于别人理解脚本。变量声明

站在地狱仰望天堂 600

保姆级教程:在ROS2 Humble上搞定Livox Mid-360雷达,从IP配置到Rviz点云显示

本文提供在ROS2 Humble上配置Livox Mid-360激光雷达的完整教程,涵盖从IP设置到Rviz点云显示的全流程。详细解析硬件连接、驱动编译、配置文件优化及常见问题排查,帮助开发者快速搭建开发环境并实现高效点云可视化。

weixin_30955617的博客 184

Jscript 随记

1、Jscript 不能用来编写独立执行的应用程序,而且没有对读写文件的内置支持。 2、注意,语句块中的原始语句以分号结束。但语句块本身并不以分号结束。 3、注意,Jscript 与 C++ 以及其它某些语言不同。它不觉得语句块是一个新的范围。仅仅有函数创建新范围。 4、注意   假设您试图将一个多行凝视插入到还有一个中,JScript 不能按正常的方式解释生成的多行凝视。标明嵌...

weixin_34032792的博客 80

嵌入式NTC温度解算库:Steinhart-Hart定点实现与硬件解耦设计

NTC热敏电阻是嵌入式系统中最常用的模拟温度传感器,其阻值-温度关系高度非线性,需依赖Steinhart-Hart方程实现高精度转换。该方程通过三参数对数多项式建模,理论上可将误差控制在±0.1°C以内,但直接移植到MCU面临浮点开销大、定点溢出、系数精度损失等工程瓶颈。为此,归一化处理(ln(R/R₂₅))、Q24.8定点运算、查表+插值对数计算等优化技术成为资源受限场景下的关键技术路径。其核心价值在于将ADC采样与温度解算彻底解耦,适配各类HAL/裸机/RTOS环境,广泛应用于电池管理、工业PLC、Io

weixin_35756624的博客 648

深度学习笔记——Transformer

本文详细介绍面试过程中可能遇到的Transformer知识点。

haopinglianlian的博客 1706

使用JScript 的变量(转)

任何编程语言中,用一块数据量化一个概念。   How old are You?  在 Jscript 中,变量是给概念的名称;它代表了给出瞬间的值。当使用该变量时,实际是用的它所代表的数据。给出示例:   NumberO...

cqwf95925的博客 147

多标签图像分类:标签依赖关系建模的最新论文解读与实战应用

多标签图像分类:标签依赖关系建模的最新论文解读与实战应用 ,人工智能,计算机视觉,大模型,AI,本文解读了最新相关论文,包括基于图神经网络(GCN)的ML-GCN方法,通过构建标签相关矩阵建模依赖关系;区域潜在语义依赖的RLSD模型,定位关键区域并利用RNN建模语义依赖;以及语义图表示学习的SSGRL框架,结合语义解耦与交互模块。通过实战应用,展示了基于PyTorch的ML-GCN模型实现,包括图像特征提取、标签依赖建模及训练评估流程,为多标签图像分类提供了有效解决方案。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

JScript:微软的 JavaScript 方言 —— 历史、特性与应用全解析

JScript 作为微软的 JavaScript 方言,是 “浏览器大战” 与 “微软生态扩张” 的产物,其核心价值在于 “兼容 ECMAScript 标准的同时,深度集成微软技术栈”—— 它既是 IE 浏览器的动态交互引擎、ASP 服务器的脚本语言、Windows 桌面的自动化工具,也是微软尝试将脚本语言融入.NET 生态的重要探索(JScript .NET)。

bulita great world 1085

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

全局变量和函数变量 var

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

清风的专栏 871

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ES6 里 var 和 let 和 const 关键字的区别

ES6===ECMAScript6 ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。 目前各大浏览器基本上...

whudee的博客 347

Devexpress16.2.6破解工具

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

上一篇: 学习记录 《常用算法大全》 分治算法 距离最近得点对
下一篇: MD5 算法的Java Bean
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值