这里讲的不会太多, 因为所有的语言都是一样的, 一些基本的东西, 所以就随便写写.

  变量

  变量就是可变的量, 编程角度理解就是用于存储某种/某些数值的存储器. 我们可以把变量具象理解为一个盒子, 而我们给的值就是盒子里面的东西, 这个盒子在那里不动, 而我们是可以改变盒子里面的东西的.

  变量的命名规则, 必须以字母, 下划线, 或者美元符号开头, 后面可以跟字母, 下划线, 美元符号和数字.

  声明一个变量$variable = 0;

    var $variable = 0;

  变量的声明

  使用var关键字来声明变量, 准确来说, 变量是无类型的, 变量可以被赋予任何类型的值, 同样一个变量也可以重新赋予不同类型的值(这个很逆天). 示例代码:

  var number = 5;

  number = "number";

  这段代码是合法的.

  变量名是区分大小写的. 所以variable和Variable是两个变量. 非严格模式下, 变量是可以不声明就直接使用的, 但是先声明再使用这是规范!!! 变量的值是可以被覆盖的, 也是可以被传递的. 如果仅仅声明了变量, 但是并没有赋值, 那么变量的值为undefined. JS变量的声明是可以重复的, 而且合法, 无害, 其实就是对变量的重新赋值(这在其他的语言中一般是不允许的).

  所以简单总结下就是JS的变量是没有类型的, 所有的类型会在运行时进行判断, 所以可以先给变量一个数字直接量, 再给一个字符串, 再给一个数组, 这些都是合法的.

  变量作用域

  和其他语言基本一样, 全局变量作用于全局, 局部作用于函数内部, 但是在嵌套函数定义中有一些区别, 这里就不详细解释了, 有兴趣的百度百度

  值类型

  虽然变量是不区分类型的, 但是在JS中, 各种类型也是存在的, JS是部分整数值和浮点数值的. 所有的数字均用浮点数值表示, 这个就不详细解释, 知道就好.

  当一个数字直接出现在JavaScript程序中, 我们称之为数字直接量, JS支持多种格式的数字直接量.

  整形直接量(1, 100, 0), 浮点型直接量(3.14, 333.66, 0.345, 6.02e23, 7.77E-32).

  操作符

  这里就不赘述了, "=", "+", "-", "*", "/", "-=", "+=", "*=", "/=", "%", "&&", "||", "!", ">", ">=", "==", "<=", "<", "++", "--", 这些符号都支持, 同样的, 优先级, 结合性也是和C语言一样的几乎.

  简单说下, "+"这个符号在数学值运算的时候是表示数学意义上的相加, 比如var i = 1 + 2;这句话的结果就是i = 3, 而在有字符串参与运算的时候, 一般会变成拼接, 比如var i = 1 + "wang", 这个表达式的结果就会是i是一个字符串, i的结果会是"1wang".

  数组

  数组的定义我就不讲了啊, 就是对象的有序集合, 优点是查询方便快捷, 缺点是删除插入麻烦, 这些C语言什么的都有, 这里就说说在JS中数组怎么用吧, 没有面向对象语言基础的都跪着吧.

  如何创建数组

    var array = new Array();

  上面的语句就是实例化一个空数组, var array声明了一个变量, 右边赋值的是一个Array的对象, new是指为一个对象开辟空间, 这些对象语言的语法我就不介绍了...

  数组的访问

  数组访问和其他语言一样, 才用数组名加索引的方式, 比如var array = [1, 2, 3, 4, 5], 那么想访问第一个元素1, 就是array[0].

  JS中的数组不存在数组越界访问的问题, 所以声明的数组可以直接用索引赋值, 比如数组长度为5, 如果你为索引为5的元素赋值, 那么长度自动就变为6了, 如果未赋值的索引被访问到了, 并不会出现垃圾值或者崩溃, 而是值为undefined, 未定义.

  数组的赋值

  1, 创建数组并赋值

    var array = new Array(1, 2, 3, 4, 5);

  2, 字面量形式赋值

    var array = [1, 2, 3, 4, 5];

  这两种的效果是相同的, 具体细节差别也不解释了, 有兴趣的可以自己百度字面量形式.

  二维数组

  二维数组用的不多, 其实就是数组的每一个元素又是一个数组, 代码示例:

  var array = [[1, 2, 3], [1, 2, 3]];

  这就是一个二行三列的数组, 想要访问数组, 需要给出两个索引, 比如a[1][2], 就是指第二数组里面的3. 也可以用矩阵的形势理解, 也就是第二行, 第三个. 学习中我感觉了解, 知道就好了, 用的时候会用就好.

  二维数组的赋值一般都是二重循环, 依次赋值, 一维数组一重循环即可.

  流程控制我就不讲了, if else, else if, switch啥的, 估计学js之前应该都有别的语言基础了, 我就直接跳过了.

初识JavaScript 变量, 操作符, 数组的更多相关文章

  1. 初识javascript变量和基本数据类型

    1.1首先,学习使用firebug控制台.设置一下firefox 中的配置选项,以便使控制台中的javascript警告更为严格...以方便我们更好的找出程序中不必要的bug. 1. 在火狐浏览器fi ...

  2. 初识JavaScript变量

    一.什么是变量? 变量即变化的量,在JS中变量是松散类型的,可以用来保存任何数据类型.把数据取个名字,放在内存中,就称之为变量! 通过变量名可以取到对应数据 二.为什么使用变量? 程序:代码的集合,一 ...

  3. 2 JavaScript输出&字面量&变量&操作符&语句&标识符和关键字&字符集&语句&数据类型与类型转换

    JS输出: JavaScript没有任何打印或者输出的函数,但是可以用不同的方式输出数据 window.alert():弹出警告框 document.write():写入文档 innerHTML:写入 ...

  4. JavaScript用typeof判断变量是数组还是对象,都返回object

    在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object. 使用typeof加leng ...

  5. Javascript中判断变量是数组还是对象(array还是object)

    怎样判断一个JavaScript变量是array还是obiect? 答案: 1.如果你只是用typeof来检查该变量,不论是array还是object,都将返回‘objec'. 此问题的一个可行的答案 ...

  6. 笔记一、初识 Javascript

    一.初识 Javascript javascript是一种专为与网页交互儿设计的脚本语言.由三部分组成:ECMAScript  (ECMA-262定义) : 提供核心语言功能文档对象模型(DOM): ...

  7. 初识JavaScript(一)

    初识JavaScript(一) 最近由于工作的需要的原因,我从一个写后台的现在让我转到写前端,再加上我的js部分特别的差,所以我现在开始学习js部分的知识. 我的第一篇博文就这样开始写了.俗话说,千里 ...

  8. 六天玩转javascript:javascript变量与表达式(2)

    本系列内容为本人平时项目实践和参照MDN,MSDN,<javascript语言精粹>,<Effective Javascript>等资料,并且整理自己EverNote的日常积累 ...

  9. Day15 HTML补充、初识JavaScript

    一.上节回顾 上节回顾: HTML 头部信息:编码.title.style.link(导入css文件) 身体: 内联 块级 --->inline-block(既有内联效果又有块级效果) a标签: ...

随机推荐

  1. 【CSS进阶】原生JS getComputedStyle等方法解析

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  2. JQuery EasyUI datagrid 复杂表头处理

    下面是我项目中和网上收集的EasyUI的表头处理的,合适的拿去用吧. 例子1: $('#day_health').datagrid({                 url: "sqb_b ...

  3. 关于Simple_html_dom的小应用

    今天一同学给我推荐了本书,说是刚出不久,内容还不错,是心灵鸡汤类的书,于是按捺不住就像在网上下一本,可是木有资源肿么办.只有在线看的,作为一个准码农,所以甭废话了,咱得用代码解决问题对吧…… 1.工欲 ...

  4. Android随笔之——PackageManager详解

    参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括A ...

  5. linux有关信号的FAQ

    1.为什么会出现系统调用被中断的情况? 进程在执行一个低速系统调用而阻塞期间捕捉到一个信号时,该系统调用就被中断不再继续执行.该系统调用返回出错,其errno被设置为EINTR.这样处理的理由是:因为 ...

  6. 如何利用sendmail发送外部邮件?

    在写监控脚本时,为了更好的监控服务器性能,如磁盘空间.系统负载等,有必要在系统出现瓶颈时,及时向管理员进行报告.在这里通常采用邮件报警,同时,邮件设置为收到邮件,即向指定手机号码发送短信.这样可以实现 ...

  7. 【记录】ASP.NET IIS ISAPI_Rewrite

    下载地址(Lite 免费版):Download ISAPI_Rewrite 3 配置(导入自定义 httpd.ini 文件): IIS ISAPI 筛选器(不需要重写的站点可以移除): 参考资料: 主 ...

  8. 订制DOM选择器

    本来是打算参考zepto.js,然后将里面想要的部分抽出来做函数,随调随用. 但后面发现这种写法重复代码太多,代码不整洁,于是就打算模仿下zepto的写法,挑出些比较实用的方法,造一下轮子. 起名叫“ ...

  9. 安装最新版本的PHPUnit后,不能使用

    我使用的是widows系统.本来3.7.8版本的Phpunit用的是非常顺畅的,最近重新安装phpunit,安装了最小版本,然后在使用的时候就会报很多各种错误.无奈之下只能降版本到3.7.8 首先要卸 ...

  10. JavaScript代码模块化的正规方法

    RequireJS-CommonJS-AMD-ES6 Import/Export详解 为什么起了一个这个抽象的名字呢,一下子提了四个名词分别是:RequireJS,CommonJS,AMD,ES6,答 ...