JAVASCRIPT - 技术教程文章
javascript的崛起及其生态元素
随着web的流行,人们花在浏览器上的时间吸引了巨头们对浏览器的重视,继而几年前富客户端概念,一大批富客户端技术的涌现,如silverlight, flex等,曾经风起云涌,最终都败给了html5 和 javascript。javascript的正式崛起的标志应该是nodejs的发布,从此,javascript开始迅速告别碎片化脚本,向工程化演进,接下来看看最近几年辅助javascript成长的一些功臣们。 项目化 语言层级的支持: nodejs 1.向服务器端进军,库的管理,运行...
JavaScript设计模式与开发实践——读书笔记1.高阶函数(下)【代码】
上部分主要介绍高阶函数的常见形式,本部分将着重介绍高阶函数的高级应用。 1.currying currying指的是函数柯里化,又称部分求值。一个currying的函数会先接受一些参数,但不立即求值,而是继续返回给另一个函数,通过闭包存储起来。等到函数被真正需求要求值的时候,将之前传入的参数统一起来求值。例如,我们要计算一个月的开销,我们并不需要计算每天具体花了多少,而是需要计算月底总共花掉多少,也就是说,实际上我们只...
JavaScript属性名和属性值【图】
㈠属性名var obj = new Object();向对象中添加属性 ⑴属性名: - 对象的属性名不强制要求遵守标识符的规范 什么乱七八糟的名字都可以使用 - 但是我们使用时还是尽量按照标识符的规范去做示例:obj.name = "林黛玉" ⑵如果要使用特殊的属性名,不能采用 . 的方式来操作 需要使用另一种方式:语法:对象["属性名"] = 属性值 读取时也需要采用这种方式 示例: ⑶使用[ ] 这种形式去操作属性,...
[Javascript] Finding Parent Elements【代码】
const app = document.getElementById(‘app‘); app.innerHTML = `<h1>JavaScript DOM</h1><div class="item"></div> `;const item = document.querySelector(‘.item‘);console.log(item.parentNode); console.log(item.parentElement.parentElement);console.log(item.closest(‘#app‘)); console.log(item.closest(‘body‘)); 原文:https://www.cnblogs.com/Answer1215/p/12596289.html
Javascript Error: 11233 Content-Length mismatch
Today I got a error in fiddler:Failed to obtain request body. System.IO.InvalidDataException The request body did not contain the specified number of bytes. Got expected11233 Content-Length mismatch: Request Header indicated 7,431 bytes, but client sent 0 bytes.I goole all key words on web, but no any clues to root cause. Here is the script:function ShowRatePopUP() { ratePopUpLinkButton = docum...
JavaScript函数【代码】
函数:就是一个可以反复执行的代码块为什么使用函数:您能够对代码进行复用:只要定义一次代码,就可以多次使用它。您能够多次向同一函数传递不同的参数,以产生不同的结果。创建一个函数:函数创建的过程,就是找一个堆内存空间,把函数代码放进去,把内存地址赋值给函数名function 函数名(){ //函数体 } 函数名() //函数调用调用函数:函数声明之后可以多次调用;函数每次调用都会产生一个新的所有作用域...
关于JavaScript中的相等、全等操作符
1.相等操作符==,不相等操作符!=,会先转换操作数(通常称为强制转换类型),然后再比较它们的相等性; 转换规则:根据不同的数据类型,有不同的转换; A.如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值。false转换,true转换为1. B.如果一个操作符是字符串,另一个操作数是数值,在比较相等性之前将字符串转换为数值;不能转换成数值的话,就flase;1=="a";//false; ---------1=="1";//true;-------tru...
aspx中如何加入javascript【代码】
Response.Write("<script>window.location =‘aaa.aspx‘;</script>"); Response.Write("<script>top.location.href=‘login.aspx‘;</script>");自己搞定了,Response.Write(" <script type=text/javascript> alert(‘ddd‘); </s"+"cript> "); 改成这样就可以了 http://www.cool80.com/Demonstrate/465/http://www.cool80.com/ http://www.kehu51.com/?baidulh 原文:http://www.cnblogs.com/XACOOL/p/5650985.html
HTML+JavaScript实现链式运动特效【图】
在学习js的过程中,发现这家伙做特效真是不错,虽然说目前水平还不够,不过也能写点简单的效果。今天分享一个简单的运动框架,然后利用这个框架实现简单的链式运动特效。1.move.js在运动框架中,主要进行长宽变化和透明度的变化。长宽的变化可以实现DIV的体积运动变化效果,透明度的话主要是在鼠标移入移出事件中添加淡入淡出的效果。我将这个简单的运动框架封装到一个单独的js文件中,方便调用。先看看代码:<span style="font-fa...
javascript变量和字面量【代码】
1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset="UTF-8">5 <title></title>6 <script type="text/javascript">7 8/* 9 * 字面量,都是一些不可改变的值 10 * 比如 :1 2 3 4 5 11 * 字面量都是可以直接使用,但是我们一般都不会直接使用字面量 12 * 13 * 变量 变量可以用来保存字面量,而且变量的值是可以任意...
JavaScript时间处理【代码】【图】
Date构造函数不使用new时,会忽略参数,返回当前时区的时间对象new Date()时,创建的是当前时区的时间对象(包含时区) Date.UTC(2020,1,1,1,1,1)可返回一个基于UTC的时间戳,当利用其创建时间对象时,会返回当地时区的时间对象 时间戳是个integer,不可能包含时区信息,因此,时间戳都是基于UTC(1970:01:01 00:00:00)来计算 当创建t1后,t1打印的格式为GMT+0800,使用t1.getTime()获取时间戳时,是获取UTC时区(与t1同时)的时间戳,UTC是要晚8...
编写高质量代码、学习笔记——Javascript篇【代码】
一、良好的编程习惯1.避免JS冲突 1>使用匿名函数将脚本包起来,减少全局变量,避免冲突。 2>团队项目有必要添加必要注释: 包括功能、编写人员名称、编写人员联系方式、编写时间。 3>使用命名空间,用作不同功能之间的通信——使用一个{}对象类型的变量作为全局变量<script type="text/JavaScript"> var GLOBAL = {}; GLOABL.namespace = function(str){var arr = atr.split("."),o = GLOBAL;for ( i = (arr[0] =...
Eclipse--eclipse去除js(JavaScript)验证错误
第一步:去除eclipse的JS验证:将windows->preference->Java Script->Validator->Errors/Warnings->Enable Javascript Sematic validation前面的勾去掉;第二步:右键项目 -> properties -> Builders 去掉JavaScript Validator 前面的勾如果Builders中没有JavaScript Validator这一项。那么去.project文件中修改如下内容:找到项目目录,删除项目目录里的 .project 文件中的以下部分:<buildCommand><name>org.eclipse.wst.jsdt.cor...
阅读:《javascript权威指南》(笔记)
判断是否为NaN类型:x!=x //true 当且仅当x为NaN时,x才不等于自身。 isNaN()//ture 参数为NaN或则非数字值,则返回true。false可判是否为断数字和字符串数字(如:"3");js数字精度值极其接近0.1,如:0.411 - 0.401,期待结果0.01,实际结果结果为0.009999999999999953;通过"\"符号连接字符串,拼接html字符串更简洁,更高效;parseInt和parseFloat参数若为字符串,则该字符串只能以空格和数字开头,...
Javascript基础系列之(五)条件语句(条件语句)【代码】
if 是flash的常用语法之一,其格式如下if(coditon) statement1 (else statement2)其中,coditon可以是任何表达式,甚至不比是真正的布尔值,因为JavaScript会将其自动转化为布尔值。如果条件执行结果为true,则执行statement1,如果条件为false,则执行结果statment2,(如果statement2存在,则else不是必须的)每个条件语句可以是单行代码,也可以是代码块。以下是简单的举例var iNumber = Number(prompt("请输入一个5到100之间的数字...
使用原生的javascript封装动画函数(有callback功能)【代码】
<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title></title><style>#box {width: 100px;height: 100px;background-color: greenyellow;position: absolute;}</style> </head> <body> <input type="button" value="按钮" id="btn"/><div id="box"></div> <script>var btn = document.getElementById("btn");btn.onclick = function () {animate(box, {"height": 400, "width": 400, "borderRadius": 150, "left...
新书《编写可测试的JavaScript代码 》出版,感谢支持
本书介绍JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码。不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代码。从减少代码复杂性的方法,到单元测试、代码覆盖率、调试、以及自动化,您将全面学到如何编写让你和你同事能够轻松修复和维护的JavaScript代码。测试JavaScript代码是一个复杂的过程。本书将在很大程度上帮你简化该过程。目标读者本书主...
JavaScript正则表达式之分组匹配【代码】
语法元字符:(pattern) 作用:用于反复匹配的分组属性$1~$9 如果它(们)存在,用于得到对应分组中匹配到的子串 \1或$1 用于匹配第一个分组中的内容\2或$2 用于匹配第一个分组中的内容...\9或$9 用于匹配第一个分组中的内容 用法示例var reg = /(A+)((B|C|D)+)(E+)/gi;//该正则表达式有4个分组 //对应关系 //RegExp.$1 <-> (A+) //RegExp.$2 <-> ((B|C|D)+) //RegExp.$3 <-> (B|C|D) //RegExp.$4 <-> (E+)以上的代码也...
每天一个JavaScript实例-铺货鼠标点击位置并将元素移动到该位置
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-铺货鼠标点击位置并将元素移动到该位置</title> <style> #info{width:100px;height:100px;background:red;position:absolute;top:0;left:0;} </style> <script> window.onload = function(){document.onclick = clickwhere;}function clickwhere(evt){evt = evt || window.event;var x =0;va...
javascript中的函数式声明与变量式声明【代码】
观察下面两段代码,试写出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(...
移花接木—— 再谈javascript中的 call 与 apply【代码】
在JavaScript中,call 和 apply 是Function对象自带的两个方法,这两个方法的主要作用是改变函数中的this指向,从而可以达到`接花移木`的效果。本文将对这两个方法进行详细的讲解,并列出几个关于call和apply的经典应用场景。 call(thisArgs [,args...])该方法可以传递一个thisArgs参数和一个参数列表,thisArgs指定了函数在运行期的调用者,也就是函数中的this对象,而参数列表会被传入调用函数中。thisArgs的取值有以下4种情况:...
javascript中WebSocket用法【代码】【图】
一.概念websocket定义WebSocket是html5提供的一种在单个TCP连接上进行双向通信的协议,解决了客户端和服务端之间的实时通信问题。浏览器和服务器只需完成一次握手,两者之间就可以创建一个持久性的TCP连接,此后服务器和客户端通过此TCP连接进行双向实时通信。websocket优点很多网站为了实现数据推送,所用的技术都是ajax轮询。轮询是在特定的时间间隔,由浏览器主动发起请求,将服务器的数据拉回来。轮询需要不断的向服务器发送请...
【JavaScript算法】---快速排序法(转载自我的老师 Alley-巷子)【代码】【图】
一、快速排序法概念 我们将一个杂乱无章的数组进行一个快速排序,可以先从一个数组中取一个中间值,将一个数组一分为2,左边的数组跟中间值进行比较,小的放在左边,大的放在右边。比较完毕后再次取中间值,再次比较一次类推 二、思路 1、取的中间值,以及中间值的下标 2、创建一个left空数组,存放小于中间值的数据 3、创建一个right空数组,存放大于中间值的数据 4、递归的终止条件,如果数组的长度等于1的时...
javascript学习笔记-1
说起来也挺丢人的,自己干了八年it,却从来没有好好从基础学习下javascript,曾经还认为和java有着多么大的联系。 真的很惭愧。今天开始有时间了,打算打打基础。 JavaScript 有什么特点 JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。 Java 与...
2017-3-28 javaScript DOM 操作
一、DOM的基本概念:DOM是文档对象模型,这种模型为树模型;文档是指标签文档;对象是指文档中每个元素;模型是指抽象化得东西。二、Windows 对象操作:1、属性和方法:属性(值或者子对象):opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器打开的,则opener是 null。dialogArgument:对话框返回值。 ...
JavaScript入门【代码】
********JavaScript概述************ECMAScript和JavaScript的关系****1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA, 希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器 脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。 一是...
[Javascript] Modifying an Immutable.js Map()【代码】
We will now look at five methods that modify an Immutable.Map().setupdatedeleteclearmerge//set()var map = Immutable.Map(); var todo = {id: +new Date(),name: "todo1",content: "learning Immutable" } map = map.set(todo.id, todo); var task = map.get(todo.id); console.log(task.content); //"learning Immutable"//updatevar map = Immutable.Map(); var todo = {id: +new Date(),name: "todo1",content: "learning...
JavaScript Source Map 详解
Source Map。它是一个独立的map文件,与源码在同一个目录下,你可以点击进去,看看它的样子。 这是一个很有用的功能,本文将详细讲解这个功能。一、从源码转换讲起 JavaScript脚本正变得越来越复杂。大部分源码(尤其是各种函数库和框架)都要经过转换,才能投入生产环境。可以500%提高开发效率的前端UI框架! 常见的源码转换,主要是以下三种情况:(1)压缩,减小体积。比如jQuery 1.9的源码,压缩前是252KB,压缩后是32KB。(2)...
javascript类型系统【代码】
前面的话 除了对象之外,数组Array类型可能是javascript中最常用的类型了。而且,javascript中的数组与其他多数语言中的数组有着相当大的区别。本文将介绍javascript中的数组Array类型 创建数组 有两种创建数组的方法:使用字面量语法和使用Array()构造函数【字面量】 使用数组字面量是创建数组最简单的方法,在方括号中将数组元素用逗号隔开即可var empty = []; //没有元素的数组 var primes = [2,3,...
JavaScript中创建对象的几种模式【代码】【图】
**JavaScript创建对象模式:对象字面量工厂模式构造函数模式原型模式结合构造函数和原型模式原型动态模式 ** 面向对象的语言大都有一个类的概念,通过类可以创建多个具有相同方法和属性的对象。虽然从技术上讲,javascript是一门面向对象的语言,但是javascript没有类的概念,一切都是对象。任意一个对象都是某种引用类型的实例,都是通过已有的引用类型创建;引用类型可以是原生的,也可以是自定义的。1、对象字面量var person ...