一、数据类型和值
javascript:允许使用3种基本类型数据--------数字、字符串、布尔值,此外还支持两种小数据类型null(空)和undefine(未定义).
javascript:还支持符合数据类型-对象(object),javascript中对象分两种,一种对象表示的已命名的值的无序集合,另一种表示有 编号的值的有序集合。其实有序集合就是数组(Array)。
javascript:还定义了另一种特殊对象----函数,还有一些javascript定义的一些专用对象(等同C#封装的类一样的概念,直接用就行)
<script>
整型直接量:3或者10000,说白了就是数字
浮点型直接量:3.14,2345.567等,就是带小数点的
字符串直接量:"3.14","demo"等,所谓字符串,就是带单引号或双引号括起来的Unicode字符序列。
把数字转换为字符串:1,var s = 100; s+="What you name";数字就会先
转换成字符串
2,var s = 100 +"";加一个空字符串
3.要让数字更显示的转换为字符串可以使用 String()函数或
者使用toString函数。
把字符串转换为数字:var product = "2" * "2";其实当一个字符串用于数字环
境 中它会自动地转换成一个数字,也可以通过减0也可达到同样的效果,或者使用
Number()函数
布尔值:
在这里我想和大家分享的内容还是转换:今后用的会比较多。1、当一个布尔值用在数字环境中,true就转换为数字1,而false转换成数字0,在字符串环境中,true就转换成字符串true,而false就转换成字符串false
函数:
函数是一个可执行的JavaScript代码段。这里说一下:函数作为数据类型,也可以像其他类型一样赋给对象的属性,当赋值成功后,属性常常当做是哪个方法的引用。后面常用。
函数直接量:var square = function(x){return x*x};//后面常用到,要能理解或记住
</script>
Javascript:二、对象
1、对象
<script>
var o = new Object();//大家注意,javascript大小写敏感!
var now = new Date()
var regex = new RegExp("^+?d{1}d{3}$")//正则表达式
对象的直接量:
var point = {x:12,y:34};
var point2 = {"super":{day:sunday,day1:monday}}//对象的属性引用另一个对象。
对象的转换:
当一个非空的对象用于布尔环境时:它转换为true,当用在字符串环境中是,javascript会调用对象的 toString()方法,并且使用该函数返回的值,当用于数字环境时:javascript 会调用该对象的valueOf()方法,如果返回的是一个基本类型,这个值会被使用,大多数的时候返回的是对象自己,这种情况下javascript回调用toString()方法把对象转换成一个字符串,然后在试图转换成数字。这上面的概念,希望大家也要理解,以后会用到。
</script>
2、数组
<script>
var array = new Array();
var arr = new Array(1.2,"Javascript",{x:12,y:23})//带参数的
数组直接量:
var a = [1.2,"Javascript",{x:12,y:23}]//数组是[]号,对象是{}号,很好记!
</script>
3、Null(空)
javascript的关键字Null 是一个特殊的值,它表示无值,null 常被看作对象类型的一个特殊值,即代表无对象的值,当一个变量的值
为null,那么就说明它的值不是有效的(Array,Object,数字,字符串,布尔值), 细节:null 在布尔环境中它转换成false;在数字
环境中转换成0。
4、Undefined(未定义)
在使用一个并未声明的变量时,或者使用了已经声明的变量但没有赋值的变量时,又或者是使用一个并不存在的对象属性是,返回的
就是undefined值,在往后的(命名空间,模块用的还是蛮多,大家要理解),细节:underfined在布尔环境中它转换成false,在数字环境
它会转换成NaN。这一点和null有区别。封装它的对象是Error。
基础篇
javascript:变量的声明
以下是几种声明变量的方式 var value; var value,value1,value2;//同时声明多个变量,但是这些变量的值都是undefined var i = 0,j = 0,k=100;//变量声明,初始化一体。 //如果大家尝试读一个不存在的变量(值)会报错!但是尝试给一个未使用Var声明的变量赋值,javascript //会隐式的声明改变量,而且声明了的变量还是全局的。细节:所以大家创建变量都尽量使用Var //变量的作用域(这个问题也容易出,大家要搞明白)
javascript:变量的作用域
这些都是细节,和我一样初学的一定要注意避免!
代码如下 复制代码
var golbal = "golbal"; //全局变量
var local ="local";
function area()
{
//局部变量的优先级比全局变量的高
var local = "arealocal"
//当函数体内声明的变量名和全局变量名相同时,javascript 会隐藏全局变量
var golbal ="http://www.hzhuti.com/nokia/n97/";
document.write("local is :"+local + "and golbal is :" + golbal +"<br />");
}
area();
//输出:local is :arealocaland golbal is :http://www.hzhuti.com/nokia/n97/
在嵌套的函数里面定义局部变量,效果会怎么样呢?看下面:
代码如下 复制代码
var hope = "moremoney";
function createmore()
{
var hope = "have more money";//局部
function createmoreto()//嵌套函数
{
var hope = "have more money to much";//局部
document.write("Createmoreto hope is :"+hope +"<br />");
//输出:Createmoreto hope is :have more money to much
}
createmoreto();//调用
document.write("Createmore hope is :" +hope +"<br />");
//输出:Createmore hope is :have more money
}
createmore(); //调用
javascript:传值和传址
这里也是比较重要的概念!不要漏了。
传值 传址
复制 实际复制的值,存在不同的、 复制的只是对数字的引用。如果通过这个
独立的拷贝。 新的引用修改了数值,这个改变对最初的
引用来说也是可见的。
传递 传递给函数的是值的独立拷贝 传递给函数的是对数值的引用,如果函数
对它的改变在函数外没有影响 通过传递给它的引用修改了数值,这个改
变也是可见的。
比较 比较这两个对立的值,通常逐 比较的是两个引用,以判断它们引用的是否
字节的比较,以判断是否相等 是同一个数值。
javascript:基本类型和引用类型
javascript的基本规则是:基本类型通过传值来操作,引用类型通过传址来操作。(什么事值类型,或者什么事引用看我上一篇)
按值传递
var value = 1;
var copyvalue = value; //将value赋给另一个变量
function addTotal(total,arg)
{
total+= arg; //total = total + arg 效果等同
}
//调用函数,传两个参数(大家可能会认为这个函数改变了全局变量的值,其实没有,函数用的也是对立拷贝)
addTotal(value,copyvalue);
if(value == 1) copyvalue = 2;
document.write("total t" + value + "and copyvalue tt" + copyvalue+"<br />");
//最后输出:total 1and copyvalue 2
按址传递
var array = new Array("Javascccp");
var objarray = array;
function modifyArray(arr)
{
arr[0] = "JAVASCRIPT";
}
//没调用函数前
document.write(array[0] +"<br />");
//输出Javascccp;
//调用函数后
modifyArray(array);
document.write(array[0]+"<br />");
//输出大写JAVASCRIPT
//通过修改objarray会是一样的效果
objarray[0] = "Frank";
document.write(array[0]+"<br />");
//输出Frank;
分享到:
相关推荐
本文主要介绍了Javascript的基本数据类型和数据类型的转换规则。具有很好的参考价值,需要的朋友可以看下
JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式。基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型。
类型转换可以分为隐式转换和显式转换,所谓隐式转换即程序在运行时进行的自动转换,显式转换则是人为的对类型进行强制转换。Javascript的变量是松散类型的,它可以存储Javascript支持的任何数据类型,其变量的类型可以...
由于JavaScript是弱类型语言(弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,...
javascript中,变量可以赋予任何类型的值。但是运算符对数据类型是有要求的,如果运算符的类型与预期不符,就会自动转换类型。数据类型除了可以自动转换以外,还可以手动强制转换。
我们都知道JavaScript是一门弱类型(或称动态类型)的语言,即变量的类型是不确定的。 var num = 123 ; //123 var num = 'HAHAHA' + num ;...这种数据类型的转换大多数情况下都是自动转换的,但有时却是需要手动强
数据类型的转化(JavaScript)—自动转化和强制转化 这一周,我来分享一下在JavaScript中的数据类型转化。 首先我们要知道在JavaScript中的数据类型有什么?在这里我就不详细介绍了,帮你总结好了。 1.布尔类型----...
JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式。基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型。
javascript中,变量可以赋予任何类型的值。但是运算符对数据类型是有要求的,如果运算符的类型与预期不符,就会自动转换类型。数据类型除了可以自动转换以外,还可以手动强制转换。
Json是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本demo将基本java数据类型转换 JSON 格式.
object是引用类型,其它的五种是基本类型或者是原始类型。 比如像是Number() ,还是parseInt() 、parseFloat()都属于显示类型转换(强制类型转换); 这一节我们来看一下隐式类型转换(自动转换)。 数值自动转换为...
1.19 自动识别网页类型 1.20 在网页中动态添加Script脚本 1.21 用JavaScript随机修改页面的标题 1.22 判断网页加载完毕 1.23 嵌入网页的播放器 1.24 设置指定网页为主页 1.25 使用JavaScript传递页面参数 1.26 页面...
当您存储数据时,Argon会为每种本机javascript数据类型添加类型提示。 在检索过程中使用类型提示来自动以其本机格式返回数据。 这甚至适用于功能。安装克隆仓库或通过凉亭安装bower install argon用法氩气将自身...
1.19 自动识别网页类型 1.20 在网页中动态添加Script脚本 1.21 用JavaScript随机修改页面的标题 1.22 判断网页加载完毕 1.23 嵌入网页的播放器 1.24 设置指定网页为主页 1.25 使用JavaScript传递页面参数 1.26 页面...
一般存在四种情况,JavaScript会对变量的数据类型进行转换。 目录 * if中的条件会被自动转为Boolean类型 * 会被转为false的数据 * 会被转为true的数据 * 参与+运算都会被隐式的转为字符串 * 会被转为空字符串的...
将javascript数据结构转换为arrayBuffer 将 arrayBuffer 转换为 javascript 数据结构 javascript结构的回收 arrayBuffer 的酷更新值 自动将字符串转换为 charCode 自动将 charCode 转换为字符串 小小的图书馆 超级...
5.7.2 类型的自动转换及其例子 5.7.3 强制类型转换及其例子 5.7.4 高级用法--一个自定义类型转换的例子 5.8 警惕数值陷阱 5.8.1 困惑--浮点数的精度问题 5.8.2 误差的修正及其例子 5.9 ...
《JavaScript基础教程(第8版)》循序渐进地讲述了JavaScript及相关的CSS、DOM、Ajax、jQuery等技术。书中从JavaScript语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,并在上...
JavaScript是一的种解释型、基于对象的脚本语言,被设计用来向 HTML 页面添加交互... JavaScript 是一种宽松类型的语言,不必显式定义变量的数据类型,在大多数情况下, JavaScript 将根据需要自动进行数据类型转换。