《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法


Posted in Javascript onJanuary 09, 2015

注释
        单行注释://

        多行注释:/* */

        "<!--"可以用作单行注释,由于和HTML的"<!--  -->"多行注释类似,容易混淆,所以不建议这种注释方法

变量
       在JavaScript 语言里,变量和其他语法元素的名字都是区分字母大小写的。名字mood的变量与名字是Mood、MOOD或mOOd的变量没有任何关系,它们不是同一个变量。

       JavaScript 语法不允许变量名中包含空格或标点符号("$"例外)。

       JavaScript 变量名允许包含字母、数字、美元符号和下划线(但第一个字符不允许是数字)。

       另一种方式是使用驼峰格式,删除中间的空白(下划线),后面的每个新单词改用大写字母开头:var myMood = "happy";

数据类型

      字符串
      字符串必须包括在引号中,单引号或双引号都可以。你可以随意选择引号,但最好是根据字符串所包含的字符来选择。如果字符串包含双引号,就把整个字符串放在单引号里,反之亦然:

      var mood = "don't ask";

      如果想在上面这条语句中使用单引号,就必须保证字母"n"和"t"之间的单引号能被当成这个字符串的一部分。这种情况下我们需要对这个字符进行转义。在JavaScript里用反斜线对字符进行转义:

      var mood = 'don\'t ask';

数组
      关联数组
      传统数组:每个元素的下标是一个数字,每增加一个元素,这个数字就一次增加1。

      如果在填充数组时只给出了元素的值,这个数组就将是一个传统数组,它的各个元素的下标将被自动创建和刷新。

      可以通过在填充数组时为每个新元素明确地给出下标来改变这种默认的行为。在为新元素给出下标时,不必局限于使用整数数字。你可以使用字符串:

      var lemon = Array();

      lemon["name"] = "John";

      lemon["year"] = 1940;

      lemon["living"] = false;

      这样的数组叫做关联数组。由于可以使用字符串代替数字值,因而代码更具有可读性。但是,这种用法并不是一个好习惯,不推荐大家使用。本质上,在创建关联数组时,你创建的是Array对象的属性。在JavaScript 中,所有的变量实际上都是某种类型的对象。比如,一个布尔值就是一个Boolean类型的对象。在上面这个例子中,你实际上是给lemon数组添加了name、year和living三个属性。在理想情况下,你不应该修改Array对象的属性,而应该使用通用的对象(Object)。

对象

 var lemon = Object();

 lemon.name = "John";

 lemon.year = 1940;

 lemon.living = false;

 lemon对象也可以写成下面这样:

 var lemon = {name:"John", year:1940, living:false};

比较操作符

       相等操作符==并不表示严格相等,这一点很容易让人犯糊涂。例如,比较false与一个空字符串会得到什么结果?

       var a = false;

       var b = "";

       if(a == b){

          alert("a equals b");

       }

       这个条件语句的求值结果是true,为什么?因为相等操作符==认为空字符串与false的含义相同。要进行严格比较,就要使用另一种等号(===)。这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型。

      当然,对于不等操作符!=也是如此。如果想比较严格不相等,就要使用!==。

Javascript 相关文章推荐
一端时间轮换的广告
Jun 26 Javascript
js实现DIV的一些简单控制
Jun 04 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
浅谈JavaScript中指针和地址
Jul 26 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
Nov 09 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
Jan 09 #Javascript
javascript获取四位数字或者字母的随机数
Jan 09 #Javascript
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 #Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 #Javascript
封装好的js判断操作系统与浏览器代码分享
Jan 09 #Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 #Javascript
使用javascript实现json数据以csv格式下载
Jan 09 #Javascript
You might like
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
用Python配平化学方程式的方法
2019/07/20 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
Python之字典添加元素的几种方法
2020/09/30 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
思想汇报范文
2013/11/04 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
社会实践活动总结报告
2014/04/29 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
MySQL索引失效场景及解决方案
2022/07/23 MySQL
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers