JavaScript中的细节分析


Posted in Javascript onJune 30, 2012

JavaScript区分大小写:在JavaScript中变量、函数都是区分大小写的,例如:

function myfunction(){}和 
function myFunction(){}不同

JavaScript中核心对象Array、Object等也是区分大小写。

单引号和双引号:这个问题在学SQLServer拼接字符串"select * from page where name='lida'"时就有疑惑:后面都的三个'到底是双引号在前还是单引号在前?学的多了知道,双引号是编程语言使用的,单引号是SQLserver标明字符串类型的。但是在JavaScript中单引号和双引号没有特殊的区别,都可以用来创建字符串,但是一般情况下JavaScript使用单引号,HTML等属性值必须使用双引号;同时单引号可以包括双引号,双引号也可以包括单引号 ;特殊情况下需要使用转义符号"\",例如:

var temp='<p class="nameA">What\'s this?';

括号的作用:和其他语言一样,JavaScript中的括号同样是两种作用,一种是当作分隔符使用,例如:(1+1)*2;第二种作用是表达式,例如:(1+1)*2;第二种作用是表达式,例如:(function (){})()中被分开的括号为分隔符,后面的括号表示执行方法。

函数的调用和引用:

var temp=myFunction(); 
var temp=myFunction;

因为括号可以代表执行,第一个temp代表的是myFunction函数的返回值,而第二个temp代表的是把myFunction赋值给temp。例如:
<script type="text/javascript"> 
// JavaScript Document 
(function () { 
function $() { 
alert("正在Buffering!"); 
} 
window['LD'] = {} 
window['LD']['$'] = $; 
} 
)(); 
window.onload = LD.$; 
</script>

网页可以正常加载,因为这代表把$方法赋值给了window.onload,页面加载运行的是自己编写的$()函数;如果把这句换成
window.onload=LD.$();运行结果如下;首先会显示“正在Buffering”,然后是
JavaScript中的细节分析
这是因为onload事件不需要返回值,而$函数也没有返回值,所以会导致尚未实现的错误。
换行:无论是用哪种引号创建字符串,中间都不能包含强制换行符。如下:
var temp='<h2 class="nameA">List</h2> 
<ol> 
</ol>'

将导致解析错误,可以使用\或+来换行:
var temp='<h2 class="nameA">List</h2>\ 
<ol>\ 
</ol>\ 
';

大括号和分号可选:
在JavaScript中分号和大括号不是必须的,例如alert('A');和alert('A')没有区别,但是在if语句处运行有差异,最好不要省略。
重载
JavaScript是基于原型的面向对象,没有如C#中的重载,在此我们可以称之为替换,同名函数无论参数个数是否相同,程序都会执行最后一个同名函数,例如function alert(){}将会覆盖JavaScript中的alert函数。
作用域和闭包
可以参加我的博客《JavaScript中的作用域链和闭包》。
Javascript 相关文章推荐
Jquery 最近浏览过的商品的功能实现代码
May 14 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
Mar 05 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
在Linux上用forever实现Node.js项目自启动
Jul 09 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
Jul 20 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
解决vue select当前value没有更新到vue对象属性的问题
Aug 30 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
express.js中间件说明详解
Mar 19 Javascript
websocket4.0+typescript 实现热更新的方法
Aug 14 Javascript
JavaScript中的作用域链和闭包
Jun 30 #Javascript
JavaScript中的面向对象介绍
Jun 30 #Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 #Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 #Javascript
Fixie.js 自动填充内容的插件
Jun 28 #Javascript
Javascript的各种节点操作实例演示代码
Jun 27 #Javascript
妙用Jquery的val()方法
Jun 27 #Javascript
You might like
Zend引擎的发展 [15]
2006/10/09 PHP
php下获取http状态的实现代码
2014/05/09 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
详解php用static方法的原因
2018/09/12 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
JavaScript 异步时序问题
2020/11/20 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python绘图库Matplotlib的安装
2014/07/03 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
大学生实习鉴定评语
2014/04/25 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
档案管理员岗位职责
2015/02/12 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
假期读书倡议书3篇
2019/08/19 职场文书