Welcome 微信登录

首页 / 脚本样式 / JavaScript

javascript的原型和作用域(1) 一切都是对象

javascript的原型和作用域(1) 一切都是对象

javascript的原型和作用域(1) 一切都是对象2014-09-26“一切都是对象”这句话的重点在于如何去理解“对象”这个概念。——当然,也不是所有的都是对象,值类型就不是对象。首先咱们还是先看看javascript中一个常用的函数——typeof()。typeof应该算是咱们的老朋友,还有谁没用过它?typeof函数输出的一共有几种类型,在此列出:fun...
javascript的原型和作用域(2) 函数和对象的关系

javascript的原型和作用域(2) 函数和对象的关系

javascript的原型和作用域(2) 函数和对象的关系2014-09-26上文(理解javascript原型和作用域系列(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。var fn = function () { };console.log(fn instanceof Object); // true对!函数是一种对象,但是函数却不像数组一样——你可以说数组...
JavaScript如何获取中文拼音首字母并通过拼音首字母快速查找页面

JavaScript如何获取中文拼音首字母并通过拼音首字母快速查找页面

JavaScript如何获取中文拼音首字母并通过拼音首字母快速查找页面2014-09-26实现效果:图一:图二:此例中输入的中文字符串“万万保重”,有三个字是多音字,所以alert对话框中显示的是多种读音的组合;如何实现?如何实现通过拼音首字母快速查找页面内的中文内容呢?过程原理是这样的:例如要对一些人名进行快速查找,当页面加载完成后,对所有人名建立一个索引,生成拼音首字母与姓名的对应关系;然后监听键盘事件,当用户按下键盘时,根据键...
JavaScript如何禁用回退键[backspace键]浏览历史跳转

JavaScript如何禁用回退键[backspace键]浏览历史跳转

JavaScript如何禁用回退键[backspace键]浏览历史跳转2014-09-26在做公司的CMS的时候出现了一些js的问题,其中有一个就是在页面非输入框中按下回退键[backspace键]时页面会跳转到上一页,但是上一页加载失败,说会话已过期,问题描述到此结束.解决办法:第一直觉就是上网搜答案,但是结果不理想。第二上论坛上看看有没有解决办法,到是找到一个类似的问你‘在IE里按backspace键时如何知道是发生在input还是在中文输...
JS中实现数据结构中的各种排序方法

JS中实现数据结构中的各种排序方法

JS中实现数据结构中的各种排序方法2015-05-26新技术一直在不断变化,掌握一些基础是未来学习不断更新的技术的坚实基础。近来闲来无事,为了温习一下从前学的数据结构,将数据结构中的排序算法用JS实现了一遍,并在本文末尾处嵌入了DEMO。简单排序冒泡排序冒泡排序是最简单排序算法,时间复杂度为n的平方,代码如下:function bubbleSort(array) {for (var i = 0; i < array.length; i++) {for...
js中call、apply、bind的用法

js中call、apply、bind的用法

js中call、apply、bind的用法2015-05-26今天看博客时,看到了这样的一段js代码:var bind = Function.prototype.call.bind(Function.prototype.bind);我想突然看到这样的一段代码,即使js能力再强的人,可能也需要花点时间去理解。像我这样的菜鸟就更不用说了。其实,原文已经对这端代码做出了解释,但我还是想用我的想法去解释这段代码。上面那段代码涉及到了call、bind,所以我想先区...
什么是Knockout

什么是Knockout

什么是Knockout2015-05-29Knockout 是一个非常棒的脚本库,可是我发现许多人并不了解它,所以,思胜翻译了这本著作。这一节,我们将会讨论 Knockout 可以做什么,又如何使用它的功能。Knockout 是一个 JavaScript 脚本库Knockout ,从本质上讲,是一个 JavaScript 脚本库,可以用在网站或者网页的开发中。用来增强脚本的功能以便提供更好的客户体验。默认情况下,除非你调用 Knockout ,否则它什么都...
knockoutJS的安装

knockoutJS的安装

knockoutJS的安装2015-05-29只需要五个简单的步骤,就可以做好使用 Knockout 开发的准备!第一步 我们需要什么?最低限度,为了完成后面的教程,你需要如下的准备Web 浏览器文本编辑器你的电脑上大约 2M 的磁盘空间基本的 Web 服务器Knockout 的开发可以在大多数你可以安装上面软件的操作系统上进行。为了完成这个教程,我将会使用 Chrome 浏览器。这个浏览器是免费的,并且可以安装在多个操作系统上,包括 Windows操作系...
knockoutJS快速上手

knockoutJS快速上手

knockoutJS快速上手2015-05-31许多时候,学会一种技术的有效方式就是使用它解决实际中的问题。在这一节,我们将学习使用 Knockout 来创建一个常见的应用,库存管理应用。应用概览在创建我们的应用之前,我们需要一个公司,来理解应用解决的问题。我们的应用将能够完成下列任务:浏览公司销售的每种产品,跟踪 SKU 数量和说明。对每种产品的价格,费用和数量进行赋值。当公司决定销售某种新产品的时候,可以创建新的产品。当公司停售某种产品的时候,可以删除...
Knockout的顶级特性

Knockout的顶级特性

Knockout的顶级特性2015-05-31Knockout 最棒的一个特点就是它的可扩展性。Knockout 存在大量的扩展点,包含大量的工具来创建我们的应用程序。许多开发者除了 Knockout 核心库之外没有使用任何其他的脚本库 ( 甚至包括 jQuery ) 就创建了非常棒的站点。Subscribables在创建我们的库存管理程序的时候,很容易发现在 Knockout 中 Observable 是一个核心对象。在 Observable,Obser...
Knockout的顶级特性 续

Knockout的顶级特性 续

Knockout的顶级特性 续2015-05-31UtilitiesKnockout 提供了许多可以你开发中使用的工具,你可以在 ko.utils 命名空间中找到它们,我最喜欢的工具如下所示:extend: 这个方法将两个对象合并在一起,调用这个方法之后,会将第二个对象的所有属性,方法合并到第一个对象上。unwrapObservable: 这个方法获取一个属性作为参数,然后返回它的值。比如 Knockout 的 Observable 属性,或者一个简单的属...
Javascript中window.open和window.close的使用方法

Javascript中window.open和window.close的使用方法

Javascript中window.open和window.close的使用方法2015-06-03有时候,我们想通过JS实现一个<a>的新开标签的效果,此时我们想到了window.open方法实现。那么window.open到底应该怎么使用呢?我们知道window.open可以新开窗口或标签页(这通常和浏览器的设置选项有关),载入指定的URL到新的或已存在的窗口中,并返回代表那个窗口的window对象。window.close可以关闭窗口,但...
CRM 2011 concurrency问题及解决方案

CRM 2011 concurrency问题及解决方案

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 中的问题

knockout 虚拟标签(virtual element) 在 table 中的问题

knockout 虚拟标签(virtual element) 在 table 中的问题2015-06-05这几天看了MVC4 / 5 的一些东西, 基本上和 MVC 3都一样, 看起来毫不费力气, 项目还没有正式开工, 每天都是看文档,了解技术. 闲着无聊就把 knockout js 给看了一遍. 今天在看 SignalR的时候, 随手写了段测试代码,发现 Knockout 的虚拟标签有点问题, 一开始我是这样写的:<table> <...
如何解决setInterval计时器不准的问题

如何解决setInterval计时器不准的问题

如何解决setInterval计时器不准的问题2015-06-07在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,因为setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行.而下一次触发时间则是在setInterval回调函数执行完毕之后才开始计时,所以如果setInterval内执行的计算过于耗时,或者有其他耗时任务在执行,setInterval的计时会越来越不准,延迟很厉害.下面的代码...
<< 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 >>