初识JavaScript 变量, 操作符, 数组
这里讲的不会太多, 因为所有的语言都是一样的, 一些基本的东西, 所以就随便写写.
变量
变量就是可变的量, 编程角度理解就是用于存储某种/某些数值的存储器. 我们可以把变量具象理解为一个盒子, 而我们给的值就是盒子里面的东西, 这个盒子在那里不动, 而我们是可以改变盒子里面的东西的.
变量的命名规则, 必须以字母, 下划线, 或者美元符号开头, 后面可以跟字母, 下划线, 美元符号和数字.
声明一个变量$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 变量, 操作符, 数组的更多相关文章
- 初识javascript变量和基本数据类型
1.1首先,学习使用firebug控制台.设置一下firefox 中的配置选项,以便使控制台中的javascript警告更为严格...以方便我们更好的找出程序中不必要的bug. 1. 在火狐浏览器fi ...
- 初识JavaScript变量
一.什么是变量? 变量即变化的量,在JS中变量是松散类型的,可以用来保存任何数据类型.把数据取个名字,放在内存中,就称之为变量! 通过变量名可以取到对应数据 二.为什么使用变量? 程序:代码的集合,一 ...
- 2 JavaScript输出&字面量&变量&操作符&语句&标识符和关键字&字符集&语句&数据类型与类型转换
JS输出: JavaScript没有任何打印或者输出的函数,但是可以用不同的方式输出数据 window.alert():弹出警告框 document.write():写入文档 innerHTML:写入 ...
- JavaScript用typeof判断变量是数组还是对象,都返回object
在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object. 使用typeof加leng ...
- Javascript中判断变量是数组还是对象(array还是object)
怎样判断一个JavaScript变量是array还是obiect? 答案: 1.如果你只是用typeof来检查该变量,不论是array还是object,都将返回‘objec'. 此问题的一个可行的答案 ...
- 笔记一、初识 Javascript
一.初识 Javascript javascript是一种专为与网页交互儿设计的脚本语言.由三部分组成:ECMAScript (ECMA-262定义) : 提供核心语言功能文档对象模型(DOM): ...
- 初识JavaScript(一)
初识JavaScript(一) 最近由于工作的需要的原因,我从一个写后台的现在让我转到写前端,再加上我的js部分特别的差,所以我现在开始学习js部分的知识. 我的第一篇博文就这样开始写了.俗话说,千里 ...
- 六天玩转javascript:javascript变量与表达式(2)
本系列内容为本人平时项目实践和参照MDN,MSDN,<javascript语言精粹>,<Effective Javascript>等资料,并且整理自己EverNote的日常积累 ...
- Day15 HTML补充、初识JavaScript
一.上节回顾 上节回顾: HTML 头部信息:编码.title.style.link(导入css文件) 身体: 内联 块级 --->inline-block(既有内联效果又有块级效果) a标签: ...
随机推荐
- ASP.NET MVC之下拉框绑定四种方式(十)
前言 上两节我们讲了文件上传的问题,关于这个上传的问题还未结束,我也在花时间做做分割大文件处理以及显示进度的问题,到时完成的话再发表,为了不耽误学习MVC其他内容的计划,我们今天开始好好讲讲关于MVC ...
- 百度sdk定位不成功,关闭定位
公司项目有用到百度地图,登录的时候需要定位一次,获取登录的地址信息,在手机无法连接外网的情况,也就无法访问百度定位服务器的时候,定位的回调函数要30秒以上才能返回结果,于是去仔细查百度api,发现没有 ...
- DevExpress控件安装、汉化使用教程
前言 DevExpress是一个庞大的控件库,也很是好用(没用过,听说),但是要收费. 网上关于DevExpress的教程满天飞,我找了一下午也没找到正确的安装.简单实用教程,还是自己摸索吧. 自己动 ...
- 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。
开讲前,先说下网上,大部分的关于这方面的博文或者其他什么的,就我自己的感觉,第一说得不详细,第二语言不能很好的被初学者了解. 我这篇博文的标题之所以用了三句,是为了方便其他人好查找: 这里介绍的方法有 ...
- 如何为RD网关创建自建签名的证书
创建安全的RD网关是一件非常好的事情,这样可以在公网环境下直接远程接入内部的已开启远程访问的主机服务器. 建立这个安全的RD网关需要的材料有RD网关本身,以及一个证书.由于一般情况下这些在RD网关后面 ...
- git diff ^M的消除
这是由于换行符在不同的操作系统上定义的区别造成的. Windows用CR LF来定义换行,Linux用LF. CR全称是Carriage Return ,或者表示为\r, 意思是回车. LF全称是Li ...
- aud$定位错误用户密码登陆数据库的具体信息
环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...
- Java中的反射机制
Java反射机制 反射机制定义 反射机制是Java语言中一个非常重要的特性,它允许程序在运行时进行自我检查,同时也允许其对内部成员进行操作.由于反射机制能够实现在运行时对类进行装载,因此能够增加程序的 ...
- JavaScript 中的相等检测
一.有时JavaScript的等价比较是一件抓狂的事情,看看这个表格就一目了然了.
- 关于一道PHP面试题的解法
参照一个int型数组,如int[] a1=new int[]{10,9,10,20,15,3,9,8,7,1,1},编写一个方法,要求输出不重复,且降序的拼接字符串(连接字符用逗号),如上数组,输出的 ...