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 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 Javascript
js动画(animate)简单引擎代码示例
Dec 04 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
Apr 02 Javascript
jQuery中 prop() attr()使用详解
May 19 Javascript
JS代码实现table数据分页效果
May 26 Javascript
浅谈JavaScript 数据属性和访问器属性
Sep 01 Javascript
webix+springmvc session超时跳转登录页面
Oct 30 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 Javascript
微信小程序基于本地缓存实现点赞功能的方法
Dec 18 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 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
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php二维码生成
2015/10/19 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python类和函数中使用静态变量的方法
2015/05/09 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
pandas分区间,算频率的实例
2019/07/04 Python
Python如何将模块打包并发布
2020/08/30 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
水果花束:Fruit Bouquets
2017/12/20 全球购物
旅游管理专业大学生职业规划书
2014/02/27 职场文书
学校教师读书活动总结
2014/07/08 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
工作岗位职责范本
2015/02/15 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
Python标准库之typing的用法(类型标注)
2021/06/02 Python
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android