`

javascript基本类型数据自动转化

阅读更多
一、数据类型和值

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 动态网页实例 - 数据类型转换.rar

    类型转换是网页编程不可或缺的内容,本文先介绍自动类型转换,接着是强制性的显式类型转换,最后如何将基本数据类型提升为对象。 JavaScript的数据类型分为基本数据类型和复合数据类型。复合数据类型主要有对象、...

    跟我学习javascript的基本类型和引用类型

    任何对基本类型的属性或方法的调用,JavaScript都会在后台自动将基本类型转换为相应的对象,调用完毕后立即销毁这个对象。 总结而言,JavaScript的基本类型和引用类型是数据类型的核心概念,决定了数据的存储方式...

    JavaScript — 数据类型的转换1

    在处理不同数据类型时,JavaScript会自动进行类型转换,以便于执行特定的操作。以下是关于JavaScript中数据类型转换的详细说明: 1. **原始数据类型转换** - **字符串(String)到数字(Number)**:在将字符串转换为...

    JavaScript程序设计课件:数据类型转换.pptx

    在这份"JavaScript程序设计课件:数据类型转换"中,主要讲解了如何在JavaScript中进行数据类型的转换,主要包括获取数据类型的方法以及三种主要的数据类型转换:字符串转换、数字转换和布尔型转换。 首先,了解数据...

    详解Javascript数据类型的转换规则

    在某些操作预期为某种类型的数据时,如果传入的不是那种类型,JavaScript会自动将其转换成预期类型。 此外,JavaScript还提供了强制类型转换的方式: 1. 强制转换为布尔值:`Boolean()`函数可以将任何类型的数据...

    javascript的数据类型

    本篇文章将深入解析JavaScript中的数据类型,并通过示例代码来进一步理解不同类型之间的转换。 #### 基础数据类型(Primitive Types) JavaScript中有六种基础数据类型: 1. **Undefined**:表示未定义的值。 2. ...

    JavaScript+js语法基础+js数据类型+js数据类型转换+js运算符

    数据类型转换分为显式转换(使用`Number()`、`String()`、`Boolean()`等函数)和隐式转换(根据上下文环境自动转换)。例如,字符串和数字相加时,字符串会尝试转换为数字。 3. 运算符(Operators) JavaScript中的...

    json一键转换为易语言自定义数据类型1

    数据类型 ' + className + ', 公开, 以下对象内自动设置的基本类型值不为标准值,仅作参考,请自行判断取用\n'; // 遍历 JSON 对象并生成数据类型 // ... } ``` 这个 `getAll` 函数是转换过程的核心,它遍历 JSON ...

    1902钟文宇Javascript数据类型总结.docx

    在JavaScript中,数据类型分为两种主要类别:基本数据类型(也称为原始数据类型)和引用数据类型。 基本数据类型包括五种: 1. **String**:字符串类型,用于存储文本信息。字符串是由一个或多个字符组成的序列,...

    Javascript类型转换的规则实例解析

    JavaScript类型转换是编程中非常重要的一个概念,它描述了在运算过程中,不同数据类型之间的自动或手动转换行为。JavaScript语言是动态类型的,这意味着你可以在运行时改变变量所存储值的类型,而这正是类型转换的...

    java中数据类型转换.doc

    在Java编程语言中,数据类型转换是编程过程中常见的操作,主要涉及基本数据类型之间的转换以及基本数据类型与字符串之间的转换。下面将详细讲解这些转换方式。 1. **基本数据类型的转换** Java中的基本数据类型...

    JavaScript中的数据类型转换方法小结

    隐式类型转换发生在当JavaScript尝试对一个“错误”的数据类型执行操作时,会自动转换为“正确”的数据类型,以满足操作的要求。这种自动转换通常发生在算术运算、比较运算以及函数调用中。 例如,当数字与字符串...

    javascript代码自动生成

    总的来说,JavaScript代码自动生成是一个涵盖多个层面的概念,从简单的文本模板到复杂的语法解析和转换,都旨在帮助开发者更高效地编写和管理代码。随着技术的发展,这一领域将持续创新,提供更多自动化和智能化的...

    一道面试题引发的对javascript类型转换的思考

    原始类型在参与运算时,通常会转换为Number、String、Boolean等基本类型。例如,在加法运算中,如果两个操作数都是数字,那么结果会是它们的和。如果其中一个操作数是字符串,另一个操作数将被转换为字符串,并执行...

    数据类型的转换数据类型的转换

    3. 自动类型转换:在某些情况下,编译器会自动进行类型转换,这通常发生在兼容类型之间,且不会导致信息丢失的情况下。例如,较小的整型值赋给较大的整型变量时,或者在表达式中混合使用浮点数和整数时。 4. 类型...

    javascript中一些数据类型以及奇怪的特性

    - JavaScript允许不同数据类型之间的隐式转换,例如在比较操作中。这可能导致一些意料之外的结果,如`"2" 返回`false`,因为字符串"2"被转换为数字进行比较。 - 另一个常见问题是`==`和`===`的区别。`==`比较两个...

    Web前端开发技术-认识JavaScript的数据类型.pptx

    在实际开发中,还需要注意类型间的隐式转换,因为JavaScript会尝试在不同数据类型之间进行自动转换,这可能会导致预期之外的结果。因此,理解并熟练运用JavaScript的数据类型是每个前端开发者必备的技能。

    javascript数据类型详解

    ### JavaScript数据类型详解 #### 一、JavaScript中的数据类型 JavaScript语言是弱类型的,它具有六种基本数据类型和一种引用数据类型。基本数据类型包括Undefined、Null、Boolean、Number和String,而引用数据...

    week1.2数据类型转换.md

    本文档主要围绕 JavaScript 的数据类型转换进行详细介绍,包括显式类型转换(强制类型转换)与隐式类型转换。 #### 强制类型转换 强制类型转换是指程序员明确指定数据类型的转换过程,常见的转换目标包括字符串(`...

    Javascript基础教程之数据类型转换

    JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式。基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型。

Global site tag (gtag.js) - Google Analytics