JavaScript 概述JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。特点:1. 交互性(它可以做的就是信息的动态交互)2. 安全性(不允许直接访问本地硬盘)3. 跨平台性(只要是可以解释Js的浏览器都可以执行,和平台无关)JavaScript与Java不同1. JS是Netscape公司的产品,前身是LiveScript;Java是Sun公司的产品,现在是Oracle公司的产品。2. JS是基于对象,Java是面向对象。3. JS只需解释就可以执行,Java需要先编译成...
JavaScript 变量变量是用于存储信息的"容器"。实例var x=5; var y=6; var z=x+y;就像代数那样x=5y=6z=x+y在代数中,我们使用字母(比如 x)来保存值(比如 5)。通过上面的表达式 z=x+y,我们能够计算出 z 的值为 11。在 JavaScript 中,这些字母被称为变量。您可以把变量看做存储数据的容器。 JavaScript 变量与代数一样,JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。变量可以使用短名称(比如 x 和 y),...
我们很容易被漂亮的代码吸引,也不知不觉的在自己的代码库中加入这些。却没有冷静的想过它们的优劣。这不,我就收集了一系列形如 "是否为……?" 的判断的boolean函数。isNull: function(a){return a === null; }, isUndefined: function(a){return a === undefined; }, isNumber: function(a){return typeof a === number; }, isString: function(a){return typeof a === string; }, isBoolean: function(a){return typeof a === ...
变量的生命周期又称为作用域,是指某变量在程序中的有效范围。根据作用域,变量可以分为全局变量和局部变量。 1、 全局变量的作用域是全局性的,即在整个javaScript程序中,全局变量处处都在。 2、 而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。 经常见到网上有文章说:“在Javascript中可以有两种方式声明全局变量:1、声明变量时...
javascript 中的变量有私有变量与公有变量也叫局部变量与全局变量,本文以实例代码来进行说明他们的区别 先看代码1: function car(){ var wheel = 3;//声明一个私有变量 this.wheel = 4;//声明一个公有变量 alert(wheel); alert(this.wheel); } var car1 = new car(); 结果是:3 4 代码2: function car(){ var wheel = 3;//声明一个私有变量 this.wheel = 4;//声明一个公有变量 } ...
作用域(Scoping)对于Javascript初学者来说,一个最迷惑的地方就是作用域;事实上,不光是初学者。我就见过一些有经验的javascript程序员,但他们对scope理解不深。javascript作用域之所以迷惑,是因为它程序语法本身长的像C家族的语言。我对作用域的理解是只会对某个范围产生作用,而不会对外产生影响的封闭空间。在这样的一些空间里,外部不能访问内部变量,但内部可以访问外部变量。c语言的变量分为全局变量和局部变量,全局变...
本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法。分享给大家供大家参考,具体如下:通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的。我写了一个自定义函数来做这个事,判断的比较全面了。function varType(v){if ( typeof v=== "object" ){if (v=== null ) return null ;if (v. constructor )return (v. constructor .toString()).match(/(?: )[/w/$]+/)[ 0 ];if ( typeof typeof2=== undef...
一、变量声明提升 hoisting 英[‘h??st??] 美[‘h??st??] n. 起重,提升 v. 把…吊起,升起( hoist的现在分词 )先来看一个栗子var cc = hello; function foo(){console.log(cc);var cc = world;console.log(cc); } foo(); console.log(cc); 这里将会输出 undefined、world 、hello此处主要有两个知识点: 1、作用域 2、变量声明提升JavaScript是一门解释性语言,当代码在解释器(如Chrome的V8引擎)环境...
前言这篇文章总结了七种办法来交换a和b的变量值var a = 123; var b = 456; 交换变量值方案一最最最简单的办法就是使用一个临时变量了,不过使用临时变量的方法实在是太low了var t; t = a; a = b; b = t; 首先把a的值存储到临时变量中,然后b赋值给a,最后拿出临时变量中的a值赋给b,这个办法是最基本的了交换变量值方案二下面的方案都不会有临时变量,我总结了一下,其实不使用临时变量的思路都是让其中一个变量变成一个a和b都...
不同执行上下文中的变量对象对于所有类型的执行上下文来说,变量对象的一些操作(如变量初始化)和行为都是共通的。从这个角度来看,把变量对象作为抽象的基本事物来理解更为容易。同样在函数上下文中也定义和变量对象相关的额外内容。抽象变量对象VO (变量初始化过程的一般行为)║╠══> 全局上下文变量对象GlobalContextVO║ (VO === this === global)║╚══> 函数上下文变量对象FunctionContextVO(VO === AO, 并且添加了...
分析: 无论是强类型语言c#、c++、java等语言,还是弱类型语言如Javascript,所有变量可以抽象为两种类型,即局部变量和全局变量。 全局变量:整个作用域可见。 局部变量:局部可见,退出作用域,就被GC销毁,回收空间。 Code分析://局部变量 function PartVary() {var n = 10; //表示局部变量,外部不可访问 }PartVary(); alert(n);//error <br> //全局变量 function AllVary() {n = 10 /...
<script language="javascript"> var str = 100;var num = Number(100);alert(typeof(num) + : + num);var obj = Object(str);alert(typeof(obj) + : + obj);var bool = Boolean(str);alert(typeof(bool) + : + bool);var num = 100;var str = String(num);alert(typeof(str) + : + str);var bool = Boolean(num);alert(typeof(bool) + : + bool);var obj = Object(num);alert(typeof(obj) + : + obj);var bool = true;va...
同一个标示符,先后用var和function声明它。最后它是什么呢?var a; // 声明一个变量,标识符为afunction a() { // 声明一个函数,标示符也为a}alert(typeof a);显示的是“function”,即function的优先级高于var。有人觉得这是代码顺序执行的原因,即a被后执行的funcion覆盖了。好,将它们调换下。function a() {}var a;alert(typeof a); 结果仍然显示的是“function”而非“undefined”。即函数声明优先于变量声明。我们把代码稍...
如下var a = 3;实际有两个步骤:1 初始化a为undefined2 a赋值3因此会出现一些“匪夷所思”的现象,即JS中变量可以先使用后声明。这在Java中是不允许的。System.out.println(a);int a = 1;编译通不过。但JS可以,如下alert(a);var a;虽然是undefined,但不会报错。说明a的确声明了,且为undefined。如果只是“alert(a)”,没有“var a”的话JS引擎会报错的。alert(a);FF中如下虽然可以先使用再声明,但这样会造成赋值的效果丢失。如...
在使用一些 Javascript 框架时,或许会看到类似的代码 var MyClass = new Class({ initialize: function(param, ...) { this.param = param; ... }, func1: function(...) { ... } }); var myObj = new MyClass(param); myObj.func1(...); 这是一种典型的面向对象的类机制应用,与原生的 Javascript 类机制相比,显得更为清晰和自然。并且,在此基础...