标签目录:javascript

以下是与标签 “javascript” 相关联的文章

ajax在IE8/9下跨域的解决方案

本文给出了ajax在IE8/9下跨域访问数据时存在的”No Transport“问题的解决方案,同时辅助以demo让读者可以在阅读过程中自行进行尝试。本文的读者假定已经具备了一定的JavaScript编程知识,使用过jquery,而且接触过ajax,对“跨域”等概念是完全理解的。如果急于寻找解决方案请直接跳到“解决方案”一小节

同时文章末尾会简单给出其他几种解决方案供读者参考。

下面进入正题:

(更多…)

一个js/jquery点击事件与闭包的学习笔记

闭包在JavaScript的学习中一定会遇到,他是JavaScript一个非常有趣的属性,但是又非常容易出错,一不小心就弄错了。一次偶然的机会和公司2位前端开发人员一起讨论了jquery点击事件的闭包实现,在此扩充一下内容,记录下来,方便日后查阅。

最后一次更新是2017.01.15

(更多…)

由JavaScript的var引出的作用域问题

首先需要简单理解JavaScript的执行环境(简称“环境”)。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个函数在被调用时都会创建自己的执行环境。当执行流进入一个函数时,函数的环境就会被推入一个环境栈中;函数执行之后,栈将环境弹出,把控制权返回给之前的执行环境。当代码在一个环境中执行时,会创建由变量对象构造的一个作用域链(scope chain)。他的作用就是保证变量和函数的有序访问。

(更多…)

关于JS中JSON.parse:bad control character in string literal错误原因和解决方案

首先根据描述,“JSON.parse:bad control character in string literal”这个错误表示JSON在解析字符串时遇到了不应该出现的控制字符。我们先来看一个最简单的例子:

JSON.parse('{ "key": "ab" }');

这条语句返回一个JSON对象,其键为key,值为ab。稍微提醒一下的是,json数据的格式要求非常严格,属性名称必须是用双引号“”括起来,也就是说,

JSON.parse("{ 'key': 'ab' }");

是无法成功解析的。当然,如果两端用双引号,只需要将内容中的双引号用转义即可,如下所示。

(更多…)