观察下面两段代码,试写出hello(‘word‘);的运行结果:// 变量式声明function hello(msg){alert(msg);var msg = function(){};alert(msg); }//函数式声明function hello(msg){alert(msg);function msg (){};alert(msg); }对于变量式声明,首先弹出word,然后弹出function,而函数式声明,则两次都是弹出function.这是为什么呢? 一: 函数式声明function hello(msg){alert(msg); //放在最前面的位置打印msg,是functionfunction msg(...
{ thetop : 10 } is a valid object literal. The code will create an object with a property named thetop that has a value of 10. Both the following are the same:obj = { thetop : 10 }; obj = { "thetop" : 10 };In ES5 and earlier, you cannot use a variable as a property name inside an object literal. Your only option is to do the following:var thetop = "top";// create the object literalvar aniArgs = {}...
JavaScript中的反射:编程语言中的反射原理都一样,就是通过操作metadata(描述语言的语言)来完成一些不具备反射功能的语言很难实现的功能。在静态语言中,反射是一个高大上的东西,比如在运行时动态创建方法并调用,延迟绑定等等等等,当八九年前第一次用到C#的反射时,那个激动劲就别提了。但是在动态语言世界里,很多功能不必要通过反射实现了,所以javascript的反射会变得比较简单,因此javascript中反射的主要用法就那么几个如...
JavaScript数据类型1、原始数据类型:数值型,如十进制数、十六进制数、八进制数和特殊值(Infinity、NaN),注意:NaN不能和自身比较字符串型,如定界符、转义符;布尔类型。 2、复合数据类型:对象(object);数组(array);函数(function)。 3、特殊数据类型:无定义数据类型undefined;空值null。null和undefined的区别就是undefined表示变量未被赋值,而null表示变量被赋予了一个空值,null相当于一个占位符。 JavaScri...
1.ECMAScript(核心)ECMA-262没有参照web浏览器,规定了语言的组成部分,具体包括语法、类型、语言、关键字、保留字、操作符、对象。ECMAScript就是对该标准规定了各个方面内容的语言的描述。ECMAScript的兼容:1 支持ECMA-262描述的所有“类型,值,对象,属性,函数,以及程序语法和语义” 。2 支持Unicode字符标准。3 添加ECMA-262没有描述的更多“类型,值,对象,属性,函数”,ECMA-262说说的浙西新增特性,主要是指该标准中没...
JavaScript作用: 用来给页面添加动态的效果LiveScript 改成 JavaScript 为了蹭热度语言特点:属于脚本语言, 不需要编译 直接解析执行.属于弱类型语言, 变量声明时不需要指定类型 Java: int x = 10; String name="tom"; x="Jerry";编译报错JavaScript: let x=10; let name="tom"; x="Jerry"; 不会报错安全性高: 这门语言由于是嵌入到html页面中,最终执行在客户端浏览器中的语言,所以对安全性要求较高交互性强: JS语言是嵌入到html页面...
1.字面量是变量的字符串表示形式。它不是一种值,而是一种变量记法。var a = 1 //1是字面量var b = ‘css‘ //css是字面量var c = [5,6,7] //567是字面量var d = {"my","box"} //{"my","box"}是字面量字面量:当给变量赋值时,等号右边都可以认为是字面量 2.“常量”在程序运行时,不会被修改的量const a = 1 //a变量已被赋值整型常量,再次赋值不会成功 3.变量通常是可变的var a = 1 //a是变量,右边赋值可变...
函数和变量重名始终是一个令人头痛的问题,先讲变量吧,相信了解JS的朋友都知道,在JS中是没有块级作用域的只有函数作用域,也就是说那些以大括号为界定符的代码块是管不住其中定义的变量的作用域的,举例:1 { 2 var num = 110; 3 } 4 console.log(num);//打印结果:110,而不是num is not defined1 for(var j = 0; j < 5; j++); 2 console.log(j);//结果:5怎么解决? 一般来说有经验的程序员会尽量少的使用全局变量,尽可能...
1//定义一个javascript类 2function JsClass(privateParam,publicParam){//构造函数 3var priMember = privateParam; //私有变量 4this.pubMember = publicParam; //公共变量 5//定义私有方法 6function priMethod(){7return "priMethod()";8 }9//定义特权方法,特权方法可以访问所有成员10this.privilegedMethod = function(){ 11var str = "这是特权方法,我调用了\n"; 12 str += " 私有变量:" + priMember +"\n"; 1...
javascript变量的作用域基本类型和引用类型基本类型值指的是简单的数据段,而引用类型值指的是那个可能由多个值组成的对象讲一个值赋值给变量时,javascript解析器首先要确定是基本类型还是引用类型,基本数据类型可以直接操作保存在变量中的值,而引用数据类型的值是保存在内存中的对象,在操作对象是,实际上操作的是对象的引用而不是实际的对象变量的赋值如果从一个变量上向另一个变量上复制基本数据类型的值,会在变量对象上创建一...
堆和栈这两个字我们已经接触多很多次,那么具体是什么存在栈中什么存在堆中呢?就拿JavaScript中的变量来说: 首先JavaScript中的变量分为基本类型和引用类型。 基本类型就是保存在栈内存中的简单数据段,而引用类型指的是那些保存在堆内存中的对象。 1、基本类型 基本类型有Undefined、Null、Boolean、Number 和String。这些类型在内存中分别占有固定大小的空间,他们的值保存在栈空间,...
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。闭包其实就是在一个函数里返回一个函数。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1(){alert(n);...
先来看一段代码:var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); // the result is : 1如果你觉得结果是“1”有点出乎意外,那么你应该往下看:我们知道一个function里面是一个封闭的作用域,在其中用var或者function xxx的形式声明的变量或者函数,在封闭作用域中是不会受外部影响的。如果function b是这样的:function b() { var a = 10; return; function a () ...
function aa1511() { var chengshi="马鞍山"; var shengfen="安徽省"; return shengfen+"@"+chengshi; } function xialachaxun() { var hanshu=aa1511().split("@"); alert(hanshu[0]+‘,‘+hanshu[1]); }原文:http://www.cnblogs.com/smght/p/5266494.html
简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript 、文档DOM对象、浏览器BOM对象 1. 核心(ECMAScript) (语法、类型、语句、关键字、保留字、操作符、对象等)Ie6、7、8 第三版(ECMA-262) 兼容 2.文档对象 dom(ie6-7 基本都dom 一级(基本操作都可以),) 3.浏览器对象模型 BOM (控制浏览器显示无标准...