javascript的原型和作用域(1) 一切都是对象 2016年07月29日 12 阅读 javascript的原型和作用域(1) 一切都是对象2014-09-26“一切都是对象”这句话的重点在于如何去理解“对象”这个概念。——当然,也不是所有的都是对象,值类型就不是对象。首先咱们还是先看看javascript中一个常用的函数——typeof()。typeof应该算是咱们的老朋友,还有谁没用过它?typeof函数输出的一共有几种类型,在此列出:fun...
javascript的原型和作用域(2) 函数和对象的关系 2016年07月29日 13 阅读 javascript的原型和作用域(2) 函数和对象的关系2014-09-26上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。var fn = function () { };console.log(fn instanceof Object); // true对!函数是一种对象,但是函数却不像数组一样——你可以说数组...
Javascript中使用代码打开超级链接:location.href的用法和实例 2016年07月29日 13 阅读 Javascript中使用代码打开超级链接:location.href的用法和实例2014-09-26*.location.href 用法:top.location.href=”url” 在顶层页面打开url(跳出框架)self.location.href=”url” 仅在本页面打开url地址parent.location.href=”url” 在父窗口打开Url...
JavaScript如何获取中文拼音首字母并通过拼音首字母快速查找页面 2016年07月29日 10 阅读 JavaScript如何获取中文拼音首字母并通过拼音首字母快速查找页面2014-09-26实现效果:图一:图二:此例中输入的中文字符串“万万保重”,有三个字是多音字,所以alert对话框中显示的是多种读音的组合;如何实现?如何实现通过拼音首字母快速查找页面内的中文内容呢?过程原理是这样的:例如要对一些人名进行快速查找,当页面加载完成后,对所有人名建立一个索引,生成拼音首字母与姓名的对应关系;然后监听键盘事件,当用户按下键盘时,根据键...
JavaScript如何判断字符串长度(英文占1个字符,中文汉字占2个字符) 2016年07月29日 15 阅读 JavaScript如何判断字符串长度(英文占1个字符,中文汉字占2个字符)2014-09-26//计算字符串长度(英文占1个字符,中文汉字占2个字符)方法一:String.prototype.gblen = function() {var len = 0;for (var i=0; i<this.length; i++) {if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { len ...
JavaScript如何禁用回退键[backspace键]浏览历史跳转 2016年07月29日 20 阅读 JavaScript如何禁用回退键[backspace键]浏览历史跳转2014-09-26在做公司的CMS的时候出现了一些js的问题,其中有一个就是在页面非输入框中按下回退键[backspace键]时页面会跳转到上一页,但是上一页加载失败,说会话已过期,问题描述到此结束.解决办法:第一直觉就是上网搜答案,但是结果不理想。第二上论坛上看看有没有解决办法,到是找到一个类似的问你‘在IE里按backspace键时如何知道是发生在input还是在中文输...
JS中实现数据结构中的各种排序方法 2016年07月29日 13 阅读 JS中实现数据结构中的各种排序方法2015-05-26新技术一直在不断变化,掌握一些基础是未来学习不断更新的技术的坚实基础。近来闲来无事,为了温习一下从前学的数据结构,将数据结构中的排序算法用JS实现了一遍,并在本文末尾处嵌入了DEMO。简单排序冒泡排序冒泡排序是最简单排序算法,时间复杂度为n的平方,代码如下:function bubbleSort(array) {for (var i = 0; i < array.length; i++) {for...
js中call、apply、bind的用法 2016年07月29日 16 阅读 js中call、apply、bind的用法2015-05-26今天看博客时,看到了这样的一段js代码:var bind = Function.prototype.call.bind(Function.prototype.bind);我想突然看到这样的一段代码,即使js能力再强的人,可能也需要花点时间去理解。像我这样的菜鸟就更不用说了。其实,原文已经对这端代码做出了解释,但我还是想用我的想法去解释这段代码。上面那段代码涉及到了call、bind,所以我想先区...
什么是Knockout 2016年07月29日 11 阅读 什么是Knockout2015-05-29Knockout 是一个非常棒的脚本库,可是我发现许多人并不了解它,所以,思胜翻译了这本著作。这一节,我们将会讨论 Knockout 可以做什么,又如何使用它的功能。Knockout 是一个 JavaScript 脚本库Knockout ,从本质上讲,是一个 JavaScript 脚本库,可以用在网站或者网页的开发中。用来增强脚本的功能以便提供更好的客户体验。默认情况下,除非你调用 Knockout ,否则它什么都...
knockoutJS的安装 2016年07月29日 14 阅读 knockoutJS的安装2015-05-29只需要五个简单的步骤,就可以做好使用 Knockout 开发的准备!第一步 我们需要什么?最低限度,为了完成后面的教程,你需要如下的准备Web 浏览器文本编辑器你的电脑上大约 2M 的磁盘空间基本的 Web 服务器Knockout 的开发可以在大多数你可以安装上面软件的操作系统上进行。为了完成这个教程,我将会使用 Chrome 浏览器。这个浏览器是免费的,并且可以安装在多个操作系统上,包括 Windows操作系...
knockoutJS快速上手 2016年07月29日 16 阅读 knockoutJS快速上手2015-05-31许多时候,学会一种技术的有效方式就是使用它解决实际中的问题。在这一节,我们将学习使用 Knockout 来创建一个常见的应用,库存管理应用。应用概览在创建我们的应用之前,我们需要一个公司,来理解应用解决的问题。我们的应用将能够完成下列任务:浏览公司销售的每种产品,跟踪 SKU 数量和说明。对每种产品的价格,费用和数量进行赋值。当公司决定销售某种新产品的时候,可以创建新的产品。当公司停售某种产品的时候,可以删除...
Knockout的顶级特性 2016年07月29日 13 阅读 Knockout的顶级特性2015-05-31Knockout 最棒的一个特点就是它的可扩展性。Knockout 存在大量的扩展点,包含大量的工具来创建我们的应用程序。许多开发者除了 Knockout 核心库之外没有使用任何其他的脚本库 ( 甚至包括 jQuery ) 就创建了非常棒的站点。Subscribables在创建我们的库存管理程序的时候,很容易发现在 Knockout 中 Observable 是一个核心对象。在 Observable,Obser...
Knockout的顶级特性 续 2016年07月29日 11 阅读 Knockout的顶级特性 续2015-05-31UtilitiesKnockout 提供了许多可以你开发中使用的工具,你可以在 ko.utils 命名空间中找到它们,我最喜欢的工具如下所示:extend: 这个方法将两个对象合并在一起,调用这个方法之后,会将第二个对象的所有属性,方法合并到第一个对象上。unwrapObservable: 这个方法获取一个属性作为参数,然后返回它的值。比如 Knockout 的 Observable 属性,或者一个简单的属...
Javascript中window.open和window.close的使用方法 2016年07月29日 12 阅读 Javascript中window.open和window.close的使用方法2015-06-03有时候,我们想通过JS实现一个<a>的新开标签的效果,此时我们想到了window.open方法实现。那么window.open到底应该怎么使用呢?我们知道window.open可以新开窗口或标签页(这通常和浏览器的设置选项有关),载入指定的URL到新的或已存在的窗口中,并返回代表那个窗口的window对象。window.close可以关闭窗口,但...
JS/CSS/IMG加载顺序关系之DOMContentLoaded事件 2016年07月29日 13 阅读 JS/CSS/IMG加载顺序关系之DOMContentLoaded事件2015-06-03DOMContentLoaded介绍DOMContentLoaded事件的触发条件是:将会在“所有的DOM全部加载完毕并且JS加载执行后触发”。但如果“js是通过动态加载进来的话,是不会影响到DOMContentLoaded的触发时间”如下图所示,蓝色的线代表DOMContentLoaded开始触发,但前提是JS已经加载...
$.getJSON()跨域请求简介 2016年07月29日 16 阅读 $.getJSON()跨域请求简介2015-06-03以前总是没搞明白是怎么回事,现在是迫不得已,就仔细看了看说明文档,终于测试成功了,记下:1,同一域名下和其他的请求可以是一样的js:var url="http://localhost:2589/a.ashx";$(function(){$.getJSON(url,function(data){alert (data.Name);})});服务器返回字符串:{"Name&qu...
CRM 2011 concurrency问题及解决方案 2016年07月29日 11 阅读 CRM 2011 concurrency问题及解决方案2015-06-03CRM2011对删除和添加操作会自动做判断,比如A打开纪录x,B也打开纪录x,然后B删除了纪录x,A去更新的话就会有提示。更新的话是后者覆盖前者,比如A打开纪录x,B打开纪录x,然后B把记录x中的字段y更新成了3,然后点保存,A把字段y更新成了5保存,最后5会覆盖3。这篇日志解决的问题就是当A改成5想保存的时候提示记录x已在某个时间点被某人更新过了,如果继续保存就会覆盖记录,否则放弃...
knockout 虚拟标签(virtual element) 在 table 中的问题 2016年07月29日 13 阅读 knockout 虚拟标签(virtual element) 在 table 中的问题2015-06-05这几天看了MVC4 / 5 的一些东西, 基本上和 MVC 3都一样, 看起来毫不费力气, 项目还没有正式开工, 每天都是看文档,了解技术. 闲着无聊就把 knockout js 给看了一遍. 今天在看 SignalR的时候, 随手写了段测试代码,发现 Knockout 的虚拟标签有点问题, 一开始我是这样写的:<table> <...
ExpandoObject对象JSON序列化概述 2016年07月29日 13 阅读 ExpandoObject对象JSON序列化概述2015-06-05如果:dynamic expando = new ExpandoObject();d.SomeProp=SomeValueOrClass;然后,我们在控制器中:return new JsonResult(expando);那么,我们的前台将会得到:[{"Key":"SomeProp", "Value": SomeValueOrCl...
如何解决setInterval计时器不准的问题 2016年07月29日 13 阅读 如何解决setInterval计时器不准的问题2015-06-07在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,因为setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行.而下一次触发时间则是在setInterval回调函数执行完毕之后才开始计时,所以如果setInterval内执行的计算过于耗时,或者有其他耗时任务在执行,setInterval的计时会越来越不准,延迟很厉害.下面的代码...