javascript:没有定义的变量和没有定义的属性

1. 没有定义的变量

    window.onload = function() {
        alert(a);
        // 报错: Uncaught ReferenceError: a is not defined
        // alert不会执行
    };

2. 没有定义的属性

    window.onload = function() {
        alert(window.a);
        // alert会执行,弹出‘undefined‘
    }; 

总结:

用没有定义的变量——报错
用没有定义的属性——undefined

所有的变量都是window对象的一个属性,所以在判断某个变量是否有值时,可以在变量前加‘window.‘,防止程序在执行过程中报错。

原文地址:https://www.cnblogs.com/zj0208/p/8317480.html

时间: 2024-10-14 07:50:02

javascript:没有定义的变量和没有定义的属性的相关文章

javascript在私有作用域中定义私有变量和私有函数 (1)

javascript没有私有成员,但是有私有变量,所有对戏那个属性都是公有的 任何在函数中定义的变量,都可以认为是私有变量,因为函数内部不能访问. 私有变量包括:函数的参数.局部变量.函数内部定义的其他函数 - 在私有作用域中定义私有变量和私有函数 function MyObject(){ //私有变量和私有函数 var privateVariable=10; function privateFunction(params) { return false } //特权方法----有权访问私有变量

var、let、const与JavaScript变量/常量的定义

早期的JavaScript中,声明变量只能使用var关键字定义变量,并没有定义常量的功能.通过var关键字定义的变量,其作用域只能函数级或是全局作用域,并没有块级作用域.ES6(ECMAScript 2015)对这一问题做了改善,增加了用于定义块级变量的let关键字和用于定义常量的const关键字. var定义变量 1.1 语法及说明 1.2 使用及特点 let定义块级变量 2.1 语法及说明 2.2 与var的异同 const定义常量 1. var定义变量 1.1 语法及说明 var关键字用于

javascript中const、var、let定义变量的区别

转载自http://www.cnblogs.com/ksl666/p/5944718.html js中const,var,let区别 今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + b);//有输出值 4

【Javascript】: for循环中定义的变量在for循环体外也有效

for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = 111; console.log(i); } alert("carl is:"+carl); })(); </script> 结果: carl is:111

JavaScript中的函数的两种定义方式

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /*I总结: 1.函数名可以做变量使用,可以赋值,可以传值 2.函数名当参数,传递给另一个函数 */ //==================js中函

kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询

kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询 如果你须要实现非传统的数据库查询操作.为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的每行的字段匹配表达式的个数. 在javascript步骤运行数据库查询 在javascript步骤初始化的时候,查询数据库.获取正則表達式记录集.然后每一行的输入数据循环检查是否匹配表达式,假设匹配.记录变量加一,最后把结果写到到前行的新增字段中. 思路非常清楚,可是怎样在javascript步骤实

【UiBot基础教程】变量与常量 - 定义变量以及变量类型

UiBot中的变量是动态类型的,无需再定义的时候声明变量的类型,即变量的值和类型都可以在运行过程中动态改变.这也符合一般脚本语言如Python.Lua.JavaScript的习惯. 定义变量名的方式是:Dim 变量名再定义变量名的同时可以给变量赋值一个初始值:Dim 变量名 = 值想要定义多个变量的话,可以这样定义:Dim 变量名=值, 变量名1Dim 变量名=值, 变量名=值同理,想要定义一个常量就可以这样定义:Const 常量名=值, 常量名=值 变量名的定义基础规范:变量名可以用英文字母.

变量定义与变量声明

1.看例子如下: int tern=1: main() { extern int tern; ...... 这里tern 声明了两次,第一次声明为变量留出了存储空间.它构成了变量的定义.第二次声明只是告诉编译器使用先前定义的变量tern,因此不是一个定义.第一次声明称为定义声明,第二次声明称为引用声明,关键字extern表明该声明不是一个定义,因此它指示编译器参考其他地方.而且extern是一个引用声明,绝不是定义声明,所以不可用它进行定义操作.木有这种的操作的哦. 2.具有内部链接的静态变量

declare的用法:定义环境变量;把环境变量修改为本地变量;是变量变为只读(和readonly一样)。

declare的法;  定义环境变量:declare -x 变量名 修改环境变量为本地变量: declare +x 环境变量名 使变量变为可读:declare -r 变量名 [[email protected] opt]# bb=10 [[email protected] opt]# declare -r bb //把变量变为可读(不能修改和删除) [[email protected] opt]# bb=20 bash: bb: readonly variable [[email protect