遇到的问题 今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组。 我定义的js数组是这样的:var sexList=new Array[3]; sexList[0]="1"; sexList[1]="2"; sexList[2]="";想达到的效果 我想达到的效果是这样的: 删除索引=1的元素,并返回新数组。 返回的结果是:var sexList=new Array("1","");我们知道,原生的javascript有一个函数:splice() 方法,可以删除数组中的指定元素。 关于splice()方法的具体用法,可以参考w3...
首先是最常规的方法: test function test(){ alert("test"); } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 当某一天,我们知道JavaScript要跟HTML结构实现分离后,就会改了一种写法: test function test(){ alert("test"); } window.onload = function(){ document.getElementById("para").onclick = test; } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 当我们工作越来越久后,有时候我们需要对某个元素绑定...
JS没有提供所谓的类继承,据说在2.0中要加入这种继承方式,但是要所有浏览器都实现2.0的特性那肯定又得N多年。JS没有提供所谓的类继承,据说在2.0中要加入这种继承方式,但是要所有浏览器都实现2.0的特性那肯定又得N多年。昨天看了crockford 的一个视频,里面讲解了一下JS的继承方式,按照PPT里面说的,一共分了三类:Prototypal,pseudoclassical,Parasitic Inheritance。 下面主要介绍一下原型继承:When a function object is ...
iframe元素也就是文档中的文档,或者好像浮动的框架(frame)。关于iframe的操作一直是一个疑难点,网上有很多这方面的文章介绍。下面我结合自己的经验,整理一下笔记记录下来。一、页面三个页面:父页面和两个子页面,两个子页面在父页面的两个iframe里。1、父页面MainForm.aspx@ Page Language="C#" AutoEventWireup="true" CodeBehind="MainForm.aspx.cs" Inherits="Test.MainForm" %>html xmlns="http://www.w3.org/1999/xhtml">...
这种效果在今后的web发展中是不是常用或者是否依然被设计师们所青睐,从技术层面看并不是最重要的,了解它的实现原理,对自身前端技术的提高,会有很大的帮助,世间万物,万变不离其宗,掌握了它的运行规律,你才不会被其花花外表所迷惑,甚至你可以在掌握其规律的前提下,运行相关技术,创造出新的效果来。下面看看它的实现过程: 1.html 代码如下: 第一行 第二行 第三行 2.css 代码如下: .box{ width:150px; height:25px;...
单击一个超链接触发事件 1.用a标签的onclick这种写法呢,存在一种弊端,就是点击后会刷新一次页面,回到页面顶端。 想不刷新如何做的呢?代码如下:2.#与javascript:void(0)的区别 超链接为“死链”时,使用#与javascript:void(0);的区别。 Void(0)没有用的值,不会去任何地方,就没有意义了 而#会刷新一次当前页面。 3.再或者、用a标签的href只有超链接的href中的JavaScript中才需要加“javascript:”, 因为它不是事件,而是把...
闭包和作用域链是JavaScript中比较重要的概念,这两天翻阅了一些资料,把相关知识点给大家总结了以下。 JavaScript 采用词法作用域(lexical scoping),函数执行依赖的变量作用域是由函数定义的时候决定,而不是函数执行的时候决定。以下面的代码片段举例说明,通常来说(基于栈的实现,如 C 语言) foo 被调用之后函数内的本地变量 scope 会被释放,但是从词法上看 foo 的内嵌匿名函数中 scope 应该指的是 foo 的本地变量 scope ...
函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种function double(x){ return 2 * x; }第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用。var double = new Function('x', 'return 2 * x;');第三种:var double = function(x) { return 2* x; }注意“=”右边的...
对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅。。(哔!)。 下面给大家介绍下常用的几种对象创建模式 使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀!var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function() { console.log(this.name + "said...
开始学习javascript函数表达式,仔细阅读下文。 1、一般形式的创建函数,在执行代码之前会先读取函数声明,所以可以把函数声明写在函数调用的下面:sayHi();function sayHi(){alert("Hi!"); }2、使用函数表达式创建函数,调用前必须先赋值:sayHi(); //错误!!函数不存在var sayHi=function(){alert("Hi!"); }3、递归 一般递归function factorial(num){if (num arguments.callee指向正在执行的函数的指针,可以用它来实现递归:fun...
模板分离了数据与展现,使得展现的逻辑和效果更易维护。利用javascript的Function对象,一步步构建一个极其简单的模板转化引擎 模板简介 模板通常是指嵌入了某种动态编程语言代码的文本,数据和模板通过某种形式的结合,可以变化出不同的结果。模板通常用来定义显示的形式,能够使得数据展现更为丰富,而且容易维护。例如,下面是一个模板的例子:'>如果有如下items数据:items:[{ text: 'text1' ,status:'done' },{ text: 'text2'...
这是一篇关于javascript模块化AMD,CMD,CommonJS的学习总结,作为记录也给同样对三种方式有疑问的童鞋们,有不对或者偏差之处,望各位大神指出,不胜感激。 本篇默认读者大概知道require,seajs的用法(AMD,CMD用法),所以没有加入使用语法。 1、为何而生:这三个规范都是为javascript模块化加载而生的,都是在用到或者预计要用到某些模块时候加载该模块,使得大量的系统巨大的庞杂的代码得以很好的组织和管理。模块化使得我们在使用...
1 C,C++,Java,PHP都能容忍末尾的逗号 C,C++,Java中对数组赋值时,最后一个元素末尾的逗号可有可无。下面两行代码对这些语言来说是等效的。int a[] = {1,2,3}; /* 正确 */ int a[] = {1,2,3,}; /* 正确 */PHP这一点也继承了C的特点,下面的两行代码等效。$a = array(1,2,3); /* 正确 */ $a = array(1,2,3,); /* 正确 */2 JavaScript视末尾逗号为语法错误! 然而到了JavaScript,情况大不相同了,最后一个元素末尾一定不能有逗号,...
javascript中的作用域(scope)和上下文(context)是这门语言的独到之处,这部分归功于他们带来的灵活性。每个函数有不同的变量上下文和作用域。这些概念是javascript中一些强大的设计模式的后盾。然而这也给开发人员带来很大困惑。下面全面揭示了javascript中的上下文和作用域的不同,以及各种设计模式如何使用他们。 上下文(Context)和作用域(Scope) 首先需要知道的是,上下文和作用域是两个完全不同的概念。多年来,我发现很多...
“JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使JSON成为理想的数据交换语言,作用是易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。” 今天在这里笔者想简单谈谈jquery里面的JSON.parse()和JSON.stringify()函数,顺便还会提一下原生JS里面的eval()函数 (1)JSON.par...