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 相关文章推荐
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
Aug 07 Javascript
给事件响应函数传参数的四种方式小结
Dec 05 Javascript
javascript中expression的用法整理
May 13 Javascript
JS动态创建DOM元素的方法
Jun 09 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
原生js实现放大镜特效
Mar 08 Javascript
JavaScript你不知道的一些数组方法
Aug 18 Javascript
AngularJS实现的简单拖拽功能示例
Jan 02 Javascript
vue实现搜索过滤效果
May 28 Javascript
React倒计时功能实现代码——解耦通用
Sep 18 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
php实现json编码的方法
2015/07/30 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
JS中的BOM应用
2018/02/02 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python3 socket同步通信简单示例
2017/06/07 Python
Python实现购物程序思路及代码
2017/07/24 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
django用户登录和注销的实现方法
2018/07/16 Python
python使用Matplotlib画饼图
2018/09/25 Python
基于Python实现用户管理系统
2019/02/26 Python
python操作excel让工作自动化
2019/08/09 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
物业总经理岗位职责
2014/02/28 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
活动总结的格式
2014/05/07 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL