诸如此类。这有一个问题,比如说在代码中的某一行,我想使用的一个已声明的变量x,结果由于打字或者拼写错误,这个变量被写成y了,结果相当于“隐式”声明了一个变量y,在实际编程过程中,这种错误有时比较难以发现。 除此之外,今天通过同事介绍,了解到这种“隐式声明”中的别外一个问题。 当你在当前上下文内进行这种“隐式”声明时,JavaScript引擎会先在当前上下文中寻找是否之前有声明此变量,如果没有,再到上一级的上下文中...
JavaScript本身作为一门简单的语言,就其变量作用域问题一样令不少人头晕,这主要是因为JavaScript闭包的存在。本文不打算深入讲解JavaScript变量作用域问题(其实本人也没有能力能把这一话题讲的深入些),也不讲“闭包”话题,本文只讨论最实用的JavaScript作用域知识点。 一、JavaScript作用域分类 JavaScript就两种作用域:全局(window)、函数级(function)。函数级(function)不要理解为“块级(大括号{}级)”。 二、区分...
我是将当前页用一个全局变量存储。同时在“最后一页”链接里单击方法调用一个函数自动去修改页数为最后一页,然后再调用载入评论的方法。 可是我发现点击“最后一页”第一次的时候系统没反应,再点击一次就抓去最后一页的资料了! 要说全局变量没改,应该是改了,就仿佛改了页数而载入评论的方法失效了一样。 代码如下: 代码如下: var page = 1; //初始化页数为第一页 var str = ""; $(document).ready(function() { lostguest()...
1.区分大小写var name="zhang";var Name="ZHANG";document.writeln(Name+"");document.write(name);2.弱类型变量全部的变量都用var关键字标示,JavaScript解释器会自动分配 3.句子的尾部分号是可选的如:var name=23; or var name=23都可以var name="zhang"var Name="ZHANG"document.writeln(Name+"")document.write(name)4.代码可以嵌入在html中也可以引入js文件javascript/* 嵌入代码中,一般在head中 */var name="zhang"var Nam...
var r, s = "this is a very very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong string", x = /^\s+|\s+$/g; document.writeln("字符串测试 "); (function(){ document.write("全局->全局:"); var t = new Date(); for(var i = 0; i 本地:"); var s = window.s; var t = new Date(); for(var i = 0; i 本地:"); var r; var t = new Date(); for(var i = 0; i 本地:"); var r; var s...
在学习JavaScript的变量作用域之前,我们应当明确几点: a、JavaScript的变量作用域是基于其特有的作用域链的。 b、JavaScript没有块级作用域。 c、函数中声明的变量在整个函数中都有定义。 1、JavaScript的作用域链 首先看下下面这段代码: 代码如下: var rain = 1; function rainman(){ var man = 2; function inner(){ var innerVar = 4; alert(rain); } inner(); //调用inner函数 } rainman(); //调用rainman函数 观察aler...
1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。 在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串。parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数...
代码如下://创建一个新的用户对象,接受一个有许多属性的对象作为参数 function User(properties) { //遍历该对象的所有属性,并保证其作用域正确 for(var i in properties){ (function(which){ var p=i; //创建此属性的一个新的读取器(getter) which["get"+p]=function(){ return properties[p]; }; //创建此属性的一个新的设置器(setter) which["set"+p]=function(val) { properties[p]=val; }; })(this); } } //创建一个新的...
先看javascript的普通函数用法 代码如下: function sum(a,b){ var c = 10; function add(){ c++; } add(); return a + b + c; } var d = sum(4,5); alert(d) // 20 可以看出,外部要和函数sum进行交互,只能通过调用和返回值形式,无法访问里面的参数c和内部函数add()。这对于函数来说属于正常逻辑。 接下来看javascript的类用法 代码如下: function sum(pa,pb) { this.a = pa; this.b = pb; this.show = function(){ alert(thi...
JavaScript变量匈牙利命名法 匈牙利命名法语法: 变量名=类型+对象描述 类型指变量的类型 对象描述指对象名字全称或名字的一部分,要求有明确含义,命名要容易记忆容易理解。 提示: 虽然JavaScript变量表面上没有类型,但是JavaScript内部还是会为变量赋予相应的类型。 提示: 匈牙利命名法是一位微软程序员发明的,多数的C,C++程序都使用此命名法。 JavaScript变量匈牙利命名类型JavaScript变量起名类型 变量命名前缀Array 数组...
也许有些高手早已知道了,但是我觉得这两个东西还是有一些价值的,所以拿到这里和大家分享一下吧. 有如下代码: 代码如下: 输出什么呢? 也许会认为它会弹出undefined, 但实际上,它弹出的是"an url"这个字符串,这就涉及到JavaScript中变量作用域的一个概念。 JS中,每个作用域都有一个相应的"变量对象"(这么叫不一定准确,知道有这么个东西就行了),这里面存放着当前作用域定义的标识符。JS程序开始的时候,会进入全局作用域, 在...
这个标题念起来有点拗口,但却是理解数据结构的关键。标题中的4个术语,对应的英文分别是:shallow copy(注意,不是shadow copy)、deep copy、pass by value、pass by reference(或pass by address)。传址和传引用是一回事。 一门编程语言的核心是数据结构,粗略来讲,可以把数据结构分成不可变类型(immutable)和可变类型(mutable)。为什么这么分呢?这涉及到内存分配问题。对于不可变类型,只要分配有限的内存空间即可,而...
测试如下:.my_show_textarea { width:600px; height:150px; font-family:"Courier New", Courier, monospace; overflow:auto; border:1px solid #ccc; font-size:11px;} .my_show_button{ font-family:"微软雅黑",Arial, Helvetica, sans-serif } 数组类型测试 Object类型测试 实例化函数测试 函数参数按地址传递测试 var a=b=[1,2]; a.push(3); alert(a.length+' : '+b.length); function $id(elem){return documen...
javascript中的所有变量都是类型松散的,不同于其他面向对象语音的变量声明都是强类型的.因此Javascript 的变量声明是不包括类型的。通过var关键字或者直接写变量名来声明一个变量,如: var v = 1; v=1; 这时有人可能会问,上述的两种声明有什么区别,为什 么会有这两种不同的声明方式,这就涉及到javascript中变量的作用域了。在javascript中,变量的作用域包括全局和函数级别的。 全局变量可以声明在函数体外,无论使用上述的哪种...
从mysql读取某一文本数据,付给js变量比如 代码如下:var strs="苏润葡萄种植园依托沪宁高速和扬溧高速两大交通走廊,紧邻镇荣公路上党镇薛村段,离镇江市仅20公里,交通便利苏润葡萄种植园引进新品种、 新工艺、新技术和现代经营管理体制,采用大棚种植。目前主要品种有五个:夏黑、美人指、贵公子、黄蜜、金手指。苏润葡萄种植园还 ..."; document.write(strs); 却发现火狐下始终报 unterminated string literal错误。把那段文本...