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

  变量

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

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

  声明一个变量$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. (转)对Lucene PhraseQuery的slop的理解

    所谓PhraseQuery,就是通过短语来检索,比如我想查"big car"这个短语,那么如果待匹配的document的指定项里包含了"big car"这个短语 ...

  2. 5分钟学会使用Less预编译器

    5分钟学会使用Less预编译器 Less是什么? LESS CSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法为CSS赋予了动态语言的特性,如变量.继承.运算.函数等,更方便 ...

  3. .net 将List序列化成Json字符串

    将List类型转化为Json,是我们平常开发时最常见的了.在使用中,有很多种方法,也可以使用. 第一种 第三方组件:Newtonsoft.Json.dll //转化成Json Newtonsoft.J ...

  4. Moon.Orm 5.0(MQL版)的高性能,将发言权交给你!

    Moon.Orm 5.0性能问题,我将它交给关心它性能的您,让你自己测试,决不让你失望的. Moon.Orm 5.0 (MQL版) 版本维护及下载 (跟踪发布) Moon.Orm 5.0系列文章 火晋 ...

  5. Vuforia unity开发摄像头问题

    Vuforia unity开发摄像头问题 项目一直在赶进度,写博的时间越来越少了~从事Unity开发也快两个月了,AR方向~ 使用的是高通家的SDK Vuforia...从工程融合一直到对unity和 ...

  6. RAC学习笔记

    RAC学习笔记 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾. 在学习Re ...

  7. Windows下程序启动时出现0xc000007b错误的解决方案

    一.背景介绍 不久前用Qt开发了一款小工具在公司使用,Debug运行时一切正常.可是当Release编译发布打包之后,运行时弹出这样的提示框: 略一思考,首先排除了DLL缺失的可能性.我知道Qt应用程 ...

  8. 使用toggle()方法进行显示隐藏

    这是一个示例: <html> <head> <script type="text/javascript" src="http://keley ...

  9. .NET正则表达式基础入门(三)

    括号 正则表达式中的括号能将多个字符或者表达式当做一组,即将他们看成一个整体.这样量词就可以修饰这一组表达式.阅读本章前,建议先下载我于CSDN上传的示例代码,下载无需分数,下载链接. 1.分组 假设 ...

  10. 从零开始编写属于我的CMS:(一)前言

    一,项目背景 记得大学毕业课题,我就是选择做个CMS,不过当时虽然做了个,不过感觉不是很好,所以现在又重做了,顺便发上来供大家讨论的.虽然CMS不是什么特别的项目,但是还是想从一个普通项目学到更多的东 ...