JavaScript语言核心数据类型和变量使用介绍


Posted in Javascript onAugust 23, 2013

任何的编程语言都有自己的语言核心,和众多编程语言一样,JavaScript也有自己语言的核心。语言的核心部分一般被称之为JavaScript最为基础的部分。正所谓万事开头难,学习JavaScript也是一个道理,也有句古话说得好,好的开始是成功的一半。了解并学好JavaScript的语言核心部分是JavaScript学习道路上非常良好的开始。

下面是一段代码,主要介绍了JavaScript的数据类型和变量:

//在script标签中,所有//后面的内容都称之为注释 
//注释的作用一般都是为一段JavaScript进行一些解释,让其他Web前端开发工程师或者是阅读这段代码的时候更加清楚明了 //变量是一个值的符号名字,通过这些变量的名字,我们也能够大体的知道这个变量是干什么用的,属于是什么变量类型 
//区别变量很简单。变量的前面都有“var” ,也就是说变量是通过“var”进行声明的。 
var m; //声明一个变量m 
//一般我们把要声明的值用等号赋给变量 
var m = 10; //现在的变量m等于 10 
m //通过 变量 m 来获取刚才声明的值 
//alert(m) //利用alert()函数,在浏览器出弹出m的值 
//JavaScript的数据类型:布尔值,数字,字符串,underfind,函数,数组,对象 
var n = 1; //数字 
n = 0.01 //整数和实数都是数字类型 
var s = "你好"; //由双引号内的文本构成的字符串 
s = '国安'; //由单引号内的文本构成的字符串 
var b = false; //错误的布尔值 
b = true; //正确的布尔值 
var z = null; //一个null的空值,是一个特殊的类型,typeof后是对象 
var u; //underfind 
var j = { //一个代表json的对象 
li :3, //属性“li”的值是3 
meng :4 //属性“meng”的值是4 
} 
j["li"] //通过[]访问json中的值 
j.li //通过.访问json中的值 
j.long = 5 //通过赋值的方法创建新的属性 
j.ai = { //通过赋值可以创建新的json 
xin : 33 
} 
j.kong = {} //{}代表空对象,它没有属性 
j.ai.xin //通过.访问新的json中的属性 
var a = [2,3,2] //一个代表数组的对象 
a[0] //数组中[]代表[]中数字代表位置,数组从0开始,所以a[0]是数组的第一个元素 
a.length //length代表数组a的个数,3 
a[a.length-1] //代表数组中的最后一个元素 
a[9] = 2; //用赋值的方法添加新的元素 
//若a = [],那么代表数组里的元素为零个,a.length = 0 
a[0] = { 
li : 333 
} 
//json中能包含数组,数组中也能包含json 
//alert(a[0]["li"])

上面的代码中,可以通过“[]”、“{}”、“.”定义对象,也可以通过“[]”、“{}”、“.”开更改数组或者对象中的内容。也可以通过“[]”、“{}”、“.”来读取对象中的一些数据。下面一组代码是有关运算符的:
//JavaScript中可以运用预算符,进行两个数之间的运算,可以产生新的值 
//下面是比较常见的一些预算符,如"+"、"-"、"*"、"/" //1、介绍运算符 
10 + 10 //加法,20 
10 * 10 //乘法,100 
10 - 10 //减法,0 
10 /10 //除法,1 
var j = { //一个代表json的对象 
li :3, //属性“li”的值是3 
meng :4 //属性“meng”的值是4 
} 
j["li"] - j.meng //json j中的属性li 减去 json j中的属性meng ,结果是-1 
"10" + "10" //加法可以进行字符串的拼接,结果是100 
//2、JavaScript中定义了一些简写的运算符 
var num = 0 //定义一个数字 
num++; //代表自增,num = num + 1; 
num--; //代表自减,相当于 num = num - 1; 
num += 2; //代表自增2 ,相当于num = num + 2; 
num *= 8; //代表自称8 ,相当于num = num * 8; 
//3、运算符进行判断 
var a = 1,b = 2; //一个等号代表复制,两个变量之间用","隔开,代表同时声明 
a == b; //结果是false 意思是a和b是相等吗 
a != b; //结果是true 意思是a和b不相等吗 
a < b; //结果是true 意思是a小于b吗 
a <= b; //结果是true 意思是a小于或者等于b吗 
a > b; //结果是false 意思是a大于b吗 
a >= b; //结果是false 意思是a大于或者等于b吗 
"two" == "three"; //true "tw"在字母表中的索引大于"th" 
false > (a > b) //结果是true 意思是false和false进行比较 
//4、逻辑运算符 
(a == 2) && (b == 3) //结果是true。a是等于2 并且 b是等于3 的吗 。&&代表并且的意思 
a > 2 || b > 2 //结果true ,第一个是false,第二个是true,由于 || 代表或的意思 
!(a == b) //结果是true 。! 是 求反 的意思

运算符中,仅仅算出个值并不影响任何操作的都叫做表达式,并不改变程序的运行状态。而语句是不包含一个值,但是它改变运行状态。语句由于改变运行状态,所以后面加分号。

每个函数都有自己的名字,通过名字可以调用执行某一个函数,可以定义一次,调用多次。下面是简单的函数小例子。

//1、函数是一段带有参数的JavaScript代码端,可以一次定义,多次调用,也可以带有参数 var a = 3; //声明一个值为3的变量a; 
function fn1 (n) { //一个参数为n名为fn1的函数 
return n+1; //返回一个比传入的值大一的值 
} 
fn1(a) //结果是4,由于刚才声明的a的值为3,所以调用函数时候,执行 a+1 也就是3+1 
var fOne = function(m) { //函数也是一种数据类型,所以也可以把变量赋值成一个函数 
return m*m; //返回一个数值,进行 参数 * 参数 的运算 
} 
fOne(a) //结果是 9 
//2、方法,把函数赋值给变量的属性 
var arr = []; //创建一个新数组 
arr.push(1,2,3); //用push()方法向arr数组里从后添加元素 
arr.reverse(); //用reverse()方法将数组中的元素顺序反转 
var points = [ //声明一个元素中是json的数组 
{a : 0,b : 0}, 
{a : 1,b : 1} 
] 
points.dist = function () { //在声明的数组中定义一种计算两点之间距离的方法 
var p1 = this[0]; //用this获取当前数组的引用 
var p2 = this[1]; //并且赋值给两个新的变量 
var a = p2.a - p1.a; //x轴上的距离 
var b = p2.b - p1.b; //y轴上的距离 
return Math.sqrt(a*a + b*b) //用Math()中的sqrt()计算平方根从而得到两点之间的距离 
} 
alert(points.dist()) //结果是1.414 
//3、控制语句 
//条件语句和循环语句被称之为控制语句 
function abs (m) { //求绝对值函数 
if (m >= 0) { //如果比较结果为true 
return m; //返回 m 
}else { //若比较结果为false 
return -m; //返回 -m 
} 
} 
function factorial (n) { //计算阶乘的函数 
var num = 1; //声明一个值为1的变量 
while (n > 1) { //当()内的表达式为true时候,执行循环{}内的代码 
num *= n; //相当于 num = num * n 
n--; //相当于 n = n -1 
} 
return num //返回阶乘的结果 
} 
factorial(4) //结果是24 
function factorialFor (n) { //用for循环实现阶乘 
var i, num = 1; //声明变量i,并且声明值为1的变量num 
for (i=2; i <= n ; i++) { //将i从2循环到n 
num *= i; //循环体,当循环体中只有一句话的时候可以省略{} 
} 
return num; //返回计算好的阶乘表 
} 
factorialFor(5)

.从函数例子中可以看出,不管是while循环还是for循环,不管是判断语句还是循环语句,都算得上是控制语句。通过一定的条件控制将要发生的事情。

介绍完函数,接下来介绍简单介绍一下面向对象。

//定义一个构造函数,就是先创造一个初始化的对象 function Point (x,y) { //构造函数名的第一个字母要大写 
this.x = x; //this代表的就是这个初始化对象 
this.y = y; //将函数的参数存到这个初始化对象的属性中 
} //构造函数中不需要返回,return什么东西 
//使用new关键字,和构造函数,创建一个新的对象 
var p = new Point(1,1); //创建一个平面坐标为(1,1)的点 
//通过给构造函数原型赋值,来给Point新创建的对象添加方法 
Point.prototype.r = function () { 
return Math.sqrt( 
this.x*this.x + this.y*this.y 
); //利用Math中的sqrt()方法进行开平方根运算。this指代的是调用方法的对象 
} 
p.r() //结果是1.414

上面的例子是教大家如何定义一个有求平方根方法的点。JavaScript的面向对象和其他编程语言的面向对象有一些区别。具体的区别呢,我们只能继续往下研究,才能知道。
Javascript 相关文章推荐
JSON为什么那样红为什么要用json(另有洞天)
Dec 26 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
Apr 15 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Sep 04 Javascript
浅谈javascript 函数属性和方法
Jan 21 Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
JS实现为动态创建的元素添加事件操作示例
Mar 17 Javascript
详解浏览器缓存和webpack缓存配置
Jul 06 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
javascript创建元素和删除元素实例小结
Jun 19 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
Mar 05 Javascript
vue中data里面的数据相互使用方式
Jun 05 Vue.js
Javascript表格翻页效果实现思路及代码
Aug 23 #Javascript
jquery $.each() 使用小探
Aug 23 #Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
Aug 23 #Javascript
checkbox使用示例
Aug 23 #Javascript
js为数字添加逗号并格式化数字的代码
Aug 23 #Javascript
Jquery Validate 正则表达式实用验证代码大全
Aug 23 #Javascript
JS获取地址栏参数的小例子
Aug 23 #Javascript
You might like
php 操作调试的方法
2012/07/12 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
Python中扩展包的安装方法详解
2017/06/14 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python绘制漏斗图步骤详解
2019/03/04 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
python 制作磁力搜索工具
2021/03/04 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
大学活动邀请函
2014/01/28 职场文书
秋季运动会稿件
2014/01/30 职场文书
人事主管岗位职责
2014/01/30 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
实习报告范文
2019/07/30 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
MySQL获取所有分类的前N条记录
2021/05/07 MySQL