一.基本数据类型

1.字符串数据类型
     var hello="你好啊";
     var hello='你好啊';
示例:
<script language="javascript">
<!--
 var hello = "你好啊";   // 使用双引号定义字符串
 var name = "Peter";   // 使用单引号定义字符串
 alert( hello + name );   // 将两个字符串合在一起显示 
-->
</script>
 深入理解字符串--在JavaScript中不区分字符与字符串,字符也被当作字符串处理。常用转义字符\n \t \r \f \' \" \\
<script language="javascript">
 var str1 = "1,使用回车换行符\n"; // 行尾使用“\n”作回车换行
 var str2 = "2,使用回车符\r";  // 行尾使用“\r”回车符
 var str3 = "3,使用:\t制表符\n"; // 中间使用一个制表符“\t”
 var str4 = "4,使用\"双引号\"";  // 使用引号“\"”
 var str  = str1 + str2 + str3 + str4; // 将4个字串符连接为了个串用于显示
 alert(str);    // 在对话框是显示连接后的串str
 document.write(str);
</script>    
2.数值型数据--不像其他编程语言那样区分整型、浮点型。
<script language="javascript">

// 使用16进制数
 var i = 0Xa1;  // 分别定义两个数字变量,并使用0x和0X作十六进制设置初值
 var j = 0xf2;
 var s = i + j;  // 十六进制变量i与j相加
    // 输出为十进制
 document.write("<li>十六进制数0xa1等于十进制数:" + i + "<br>" );
 document.write("<li>十六进制数0xf2等于十进制数:" + j + "<br>" );
 document.write("<li>十六进制数0xf2加上0xa1的和为:" + s + "<br>" );

// 使用8进制数
 var k = 0123;  // 分别定义两个数值变量,分别用八进制值设置为初值
 var l = 071;
 var m = k + l;  // 两个变量的值相加
    // 输出为十进制
 document.write("<li>八进制数0123等于十进制数:" + k + "<br>" );
 document.write("<li>八进制数071等于十进制数:" + l + "<br>" );
 document.write("<li>八进制数0123加上071的和为:" + m + "<br>" );
    // 使用10进制
 var t1 = 0.1;  // 定义十进制小数数字的形式
 var t2 = 1.1;
 var t3 = 2e3;  // 使用科学计数法表示数值
 var t4 = 2e-3
 var t5 = 0.1e2;
 var t6 = 0.1e-2; // 将各变量的值全部输出
 document.write("<li>十进制带小数的形式:" + t1 + "和" + t2 + "<br>" );
 document.write("<li>十进制科学记数2e3等于:" + t3 + "<br>" );
 document.write("<li>十进制科学记数2e-3等于:" + t4 + "<br>" );
 document.write("<li>十进制科学记数0.1e2等于:" + t5 + "<br>" );
 document.write("<li>十进制科学记数0.1e-2等于:" + t6 + "<br>" );

</script>
3.布尔型数据--布尔型只有真假两个数据类型,真用true,假用false,非0既真,0为假
<script language="javascript">
<!--  
 var b1 = true; // 定义布尔型变量b1并赋初始为“真”
 if( b1 ) // 判断b1的真是否为真,真则执行“{}”中的语句
 {
  document.write("变量b1的值为\"真\"<br>");
 }
 var b2 = false;
 if( b2 )
 {
  document.write("变量b2的值为\"真\"<br>");
 }
 else
 {
  document.write("变量b2的值为\"假\"<br>");
 }
 var b3 = 0.1; // 定义数字类型变量b3并赋予非0值
 if( b3 ) // 此处b3被当作布尔型变量,并判断真或假
 {
  document.write("变量b3的值为\"真\"<br>");
 }
 var b4 = -1; // 定义数字类型变量b4并赋予非0值
 if( b4 ) // 此处b4被当作布尔型变量,并判断真或假
 {
  document.write("变量b4的值为\"真\"<br>");
 }
 var b5 = 0; // 定义数字类型变量并赋予0值
 if( b5 ) // 此处b5被当作布尔型变量,并判断真或假
 {
  document.write("变量b5的值为\"真\"<br>");
 }
 else
 {
  document.write("变量b5的值为\"假\"<br>");
 }
-->
</script>
二.复合数据类型
1.常用内置对象--将数据与处理数据的方法捆绑在一起形成一个整体,称为对象。var obj=new Object();obj.toScript();
Object:所有对象的基础对象
Array:数组对象,封装了数组的操作和属性
ActiveXObject:活动空间对象
arguments:参数对象,正在调用的函数的参数
Boolean:布尔对象,提供同布尔类型等价的功能
Date:日期对象,封装了日期相关的操作和属性对象
Error:错误对象,保存错误信息
Function:函数对象,用于创建函数
Global:全局对象,所有的全局函数和全局常量归该类对象所有
Math:数学对象,提供基本的数学函数和常量
Number:数字对象,代表数值数据类型和提供数值常量的对象
String:字符串对象,提供操作的属性的对象
2.常用日期对象--date=new Date();date=new Date(val);date=new Date(y,m,d[,h[,min[,sec[,ms]]]]);
<script language="javascript">
<!--
 var cur = new Date();  // 创建当前日期对象cur
 var years = cur.getYear(); // 从日期对象cur中取得年数
 var months = cur.getMonth(); // 取得月数
 var days = cur.getDate(); // 取得天数
 var hours = cur.getHours(); // 取得小时数
 var minutes = cur.getMinutes(); // 取得分钟数
 var seconds = cur.getSeconds(); // 取得秒数
     // 显示取得的各个时间值
 alert( "此时时间是:" + years + "年" + (months+1) + "月"
  + days + "日" + hours + "时" + minutes + "分"
  + seconds + "秒" );
-->
</script>
getDate()返回对象中本地时间表示的日期
getYear()返回对象中本地时间表示的年值
getMonth()
getDay()
getHours()
getSeconds()
getMinutes()
setDate(dateVal)设置对象中的日期值
setYear(yearVal)
setMonth(monthVal)
<script language="javascript">
<!-- 
 var dateObj = new Date(); // 创建一个日期对象 
 dateObj.setYear( 2007); // 设置日期对象的年份 
 dateObj.setDate( 20 );  // 设置日期对象的日期
 dateObj.setMonth( 4 );  // 设置日期对象的月份
     // 显示日期对象中的时间
 alert( "dateObj中设定的时间为:" + dateObj.getYear() + "年"
  + dateObj.getMonth() + "月" + dateObj.getDate() + "日" );
-->
</script>
3.理解全局对象--全局对象是所有全局方法的拥有者,用来统一管理全局方法,全局方法也指全局函数。不能使用new运算符创建对象实例
isNaN(value)判断value是否是NaN,返回一个布尔型
parseFloat(string)返回有字符串string转换的到的浮点数
parseInt(string)返回有字符串string转换得到的整数
<script language="javascript">
<!--
 var a = NaN;
 var b = "123";
 var c = 123;
 var d = "1.23";
 document.write( "<b>Global对象的isNaN方法</b><br>" );
 var ta =  isNaN( a ); // 使用Global对象的isNaN()方法测试a的值
 document.write( "<li>a的值是否是NaN:" + ta + "<br>" );
 var tb = isNaN( b ); // 测试b的值
 document.write( "<li>b的值是否是NaN:" + tb + "<br>" );
 var tc = isNaN( c ); // 测试c的值
 document.write( "<li>c的值是否是NaN:" + tc + "<br>" );
 document.write( "<b>Global对象的parseInt方法</b><br>" );
 var ib = parseInt( b ); // 使用Global对象的parseInt方法,将字符串“123”解析为数值123
 if( ib == c )
 {
  document.write( "<li>b解析为数值:" + ib + "<br>" );
 }
 document.write( "<b>Global对象的parseFloat方法</b><br>" );  
 var id = parseFloat( d );// 使用Global对象的parseFloat方法将字符串“1.23”解析为数值1.23
 if( id == 1.23 )
 {
  document.write( "<li>b解析为数值:" + id + "<br>" );
 }
-->
</script>
4.常用数学对象--Math.[{属性名|方法名}];
PI返回圆周率
abs返回数字的绝对值
cos返回给定数的余弦值
sin返回数的正弦值
min返回给定数的最小值
max返回给定数的最大值
sqrt返回给定数的平方根
Tan返回给定数的正切值
round返回与给定数最接近的整数值
log返回给定数的自然对数
pow返回给定数的制定次幂
<script language="javascript">
<!-- 
 var r = 2;     // 定义变量表示半径 
 var pi = Math.PI;    // 从Math对象中读取周期率PI常量 
 var s = pi*r*r;     // 计算面积
 alert("半径为2单位的圆面积为:" + s + "单位" ); // 显示圆的面积
-->
</script>
<script language="javascript">
<!-- 
 var r1 = Math.sin( Math.PI/2 ); // 求余弦
 document.write("<li>弧度为pi/2的正弦值为:" + r1 + "<br>" );
 var r2 = 0-r1;
 var r3 = Math.abs( r2 ); // 求绝对值
 document.write("<li>" + r2 + "的绝对值为:" + r3 + "<br>" );
-->
</script>
5.常用字符串对象--String([strVal]);
<script language="javascript">
<!--
 // 诗的内容
 var comment = "静夜思李白床前明月光,疑是地上霜。举头望明月,低头思故乡。";
 var partial = comment.substring( 0, 3 ); // 取出标题
 partial = partial.bold();   // 标题加粗
 document.write( "<p align=\"center\">" ); // 输出HTML标签“<p>”,并设置居中对齐
 document.write( partial );   // 输出标题
 partial = comment.slice( 3, 5 );  // 取出作者
 document.write( "<br>" );   // 输出换行标签<br>
 document.write( partial );   // 输出作者
 partial = comment.slice( 5, 17 );  // 取出第一句诗文
 partial = partial.fontcolor("gray");  // 设置颜色为gray(灰色)
 document.write( "<br>" );   // 输出换行标签
 document.write( partial );   // 输出诗句
 partial = comment.slice( 17, 29 );  // 取出第二句诗文
 partial = partial.fontcolor("gray");  // 设置颜色为gray(灰色)
 document.write( "<br>" );   // 输出换行标签
 document.write( partial );   // 输出诗句
 document.write( "</p>" );   // 输出HTML标签“<p>”的结束标签
-->
</script>
6.掌握数组对象--var a=new Array();var a=new Array(10,20,30,string,40);var a=[10,20,30,string,40];var a=new Array(3);
<script language="javascript">
<!--
 var poets = new Array( "王维",  "杜甫", "李白", "白居易" ); // 创建数组
 document.write("古代几个大诗人:<br>");    // 输出标题
 for( n in poets )      // 逐个输出数组元素
 {
  document.write( "<li>" + poets[n] );   // 输出诗人的名字
 }
-->
</script>
三.其他数据类型
1.使用函数--function TypeName([arg,…]){this.arg=arg;}
<script language="javascript">
<!--
 function Card( owner, rate )   // 定义一车子对象
 {
  this.Owner = owner;   // 车主
  this.MaxRate = rate;   // 极速
 }
 var myCard = new Card( "Sunsir", "400KMpH" ); // 创建一个车子实例
 document.write( myCard.Owner + "的车子极速为" + myCard.MaxRate ); // 输出车子的属性
-->
</script>
2.空值--null
<script language="javascript">
<!--
 var x = 10; // 定义变量x,并给其赋值10
 var y = null; // 定义变量y,并赋一个空值,表示“什么都没有”
 if( x == null ) // 如果x为空值则
 {
  document.write( "x的值为空<br>" );
 }
 if( y == null ) // 如果y为空则
 {
  document.write( "y的值为空<br>" );
 }
-->
</script>
3.不确定的类型--undefined
<script language="javascript">
<!-- 
 var v0 = 1;      // 定义一个值为1的变量 
 var v1 = null;      // 定义一个变量,并指定值为null 
 var v2;       // 定义一个变量,但不赋任何值 
 document.write("变量v0的内容为:" + v0 + "<br>" ); // 分别输出v0、v1、和v2的内容
 document.write("变量v1的内容为:" + v1 + "<br>" );
 document.write("变量v2的内容为:" + v2 + "<br>" ); 
 if( v1 == v2 )      // 测试“null”和“undefined”的相等性
 {
  document.write("\"null\"和\"undefined\"相等<br>" );
 }
 else
 {
  document.write("\"null\"和\"undefined\"不相等<br>" );
 }
-->
</script>
四.数据类型的转换

1.Javascript类型转换的规则:Javascript的变量是松散类型的,它可以存储Javascript支持的任何数据类型,其变量的类型可以在运行时被动态改变
2..隐式类型转换

  • 在某些情况下,即使我们不提供显示转换,Javascript也会进行自动类型转换,主要情况有:

  • 1. 用于检测是否为非数值的函数:isNaN(mix)--isNaN()函数,经测试发现,该函数会尝试将参数值用Number()进行转换,如果结果为“非数值”则返回true,否则返回false。

  • 2. 递增递减操作符(包括前置和后置)、一元正负符号操作符--这些操作符适用于任何数据类型的值,针对不同类型的值,该操作符遵循以下规则(经过对比发现,其规则与Number()规则基本相同):

    (1) 如果是包含有效数字字符的字符串,先将其转换为数字值(转换规则同Number()),在执行加

    减1的操作,字符串变量变为数值变量。

    (2) 如果是不包含有效数字字符的字符串,将变量的值设置为NaN,字符串变量变成数值变量。

  • (3) 如果是布尔值false,先将其转换为0再执行加减1的操作,布尔值变量编程数值变量。

  • (4) 如果是布尔值true,先将其转换为1再执行加减1的操作,布尔值变量变成数值变量。

  • (5)如果是浮点数值,执行加减1的操作。

  • (6)如果是对象,先调用对象的valueOf()方法,然后对该返回值应用前面的规则。如果结果是NaN,
  • 3.加号运算操作符在Javascript也用于字符串连接符,所以加号操作符的规则分两种情况:

     如果两个操作值都是数值,其规则为:

  • (1) 如果一个操作数为NaN,则结果为NaN

  • (2) 如果是Infinity+Infinity,结果是Infinity

  • (3) 如果是-Infinity+(-Infinity),结果是-Infinity

  • (4) 如果是Infinity+(-Infinity),结果是NaN

  • (5)如果是+0+(+0),结果为+0

    (6) 如果是(-0)+(-0),结果为-0

    (7) 如果是(+0)+(-0),结果为+0

  •  如果有一个操作值为字符串,则:

    (1) 如果两个操作值都是字符串,则将它们拼接起来

    (2) 如果只有一个操作值为字符串,则将另外操作值转换为字符串,然后拼接起来

    (3) 如果一个操作数是对象、数值或者布尔值,则调用toString()方法取得字符串值,然后再应用前面的字符串规则。对于undefined和null,分别调用String()显式转换为字符串。  可以看出,加法运算中,如果有一个操作值为字符串类型,则将另一个操作值转换为字符串,最后连接起来。

    4.乘除、减号运算符、取模运算符

    这些操作符针对的是运算,所以他们具有共同性:如果操作值之一不是数值,则被隐式调用Number()函数进行转换。具体每一种运算的详细规则请参考ECMAScript中的定义。

  • 5. 逻辑操作符(!、&&、||)

    1. 逻辑非(!)操作符首先通过Boolean()函数将它的操作值转换为布尔值,然后求反。

  • 2.逻辑与(&&)操作符,如果一个操作值不是布尔值时,遵循以下规则进行转换:
  • (1) 如果第一个操作数经Boolean()转换后为true,则返回第二个操作值,否则返回第一个值(不是

    Boolean()转换后的值)

    (2)如果有一个操作值为null,返回null  3. 如果有一个操作值为NaN,返回NaN

    (3)如果有一个操作值为undefined,返回undefined  逻辑或(||)操作符,

  • 3.如果一个操作值不是布尔值,遵循以下规则:

    (1) 如果第一个操作值经Boolean()转换后为false,则返回第二个操作值,否则返回第一个操作值

    (不是Boolean()转换后的值)

    (2)对于undefined、null和NaN的处理规则与逻辑与(&&)相同

  • 6. 关系操作符(<, >, <=, >=)

    与上述操作符一样,关系操作符的操作值也可以是任意类型的,所以使用非数值类型参与比较时也需要系统进行隐式类型转换:

    (1)如果两个操作值都是数值,则进行数值比较

    (2)如果两个操作值都是字符串,则比较字符串对应的字符编码值

    (3)如果只有一个操作值是数值,则将另一个操作值转换为数值,进行数值比较

    (4) 如果一个操作数是对象,则调用valueOf()方法(如果对象没有valueOf()方法则调用toString()

    方法),得到的结果按照前面的规则执行比较

    (5)如果一个操作值是布尔值,则将其转换为数值,再进行比较

    注:NaN是非常特殊的值,它不和任何类型的值相等,包括它自己,同时它与任何类型的值比较大小时都返回false。

    7. 相等操作符(==)相等操作符会对操作值进行隐式转换后进行比较:

  • <script language="javascript">
    <!--
     var age = prompt("请输入您的年龄:", "0"); // 输入年龄
     if( age <= 0 )     // 如果输入的数字小于等于0则视为非法
     {
      alert("您输入的数据不合法!");
     }
     else
     {
      alert( "你的年龄为" + age + "岁" );
     }
    -->
    </script>
  • 3.显式转换

  • Number(mix)函数,可以将任意类型的参数mix转换为数值类型。其规则为:

    (1) 如果是布尔值,true和false分别被转换为1和0

  • (2)如果是数字值,返回本身。

  • (3)如果是null,返回0.

    (4) 如果是undefined,返回NaN。

  • (5) 如果是字符串,遵循以下规则:

  • (6)如果字符串中只包含数字,则将其转换为十进制(忽略前导0)

  • 如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)

  • 如果是空字符串,将其转换为0

    如果字符串中包含非以上格式,则将其转换为NaN

    (7) 如果是对象,则调用对象的valueOf()方法,然后依据前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,再次依照前面的规则转换返回的字符串值。

    下表列出了对象的valueOf()的返回值:

  • 对象    返回值

  • 数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作

  • Array  与 Array.toString 和 Array.join 方法相同。

  • Boolean Boolean 值。

  • Date 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。

  • Function 函数本身。

  • Number 数字值。

    Object 对象本身。这是默认情况。

  • String 字符串值。

    parseInt(string, radix)函数,将字符串转换为整数类型的数值。它也有一定的规则:

    (1) 忽略字符串前面的空格,直至找到第一个非空字符

  • (2)如果第一个字符不是数字符号或者负号,返回NaN

    (3) 如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止

  • (4)如果上步解析的结果以0开头,则将其当作八进制来解析;如果以0x开头,则将其当作十六进

    制来解析

    (5)如果指定radix参数,则以radix为基数进行解析

  • parseFloat(string)函数,将字符串转换为浮点数类型的数值。

    它的规则与parseInt基本相同,但也有点区别:字符串中第一个小数点符号是有效的,另外parseFloat会忽略所有前导0,如果字符串包含一个可解析为整数的数,则返回整数值而不是浮点数值。

    toString(radix)方法。除undefined和null之外的所有类型的值都具有toString()方法,其作用是返回对象的字符串表示。

  • 对象 操作

    Array 将 Array 的元素转换为字符串。结果字符串由逗号分隔,且连接起来。

  • Boolean 如果 Boolean 值是 true,则返回 “true”。否则,返回 “false”。

  • Date 返回日期的文字表示法。

    Error 返回一个包含相关错误信息的字符串。

    Function 返回如下格式的字符串,其中 functionname 是被调用 toString 方法函数的名称:  function functionname( ) { [native code] }

    Number 返回数字的文字表示。 String 返回 String 对象的值。

    默认 返回 “[object objectname]”,其中 objectname 是对象类型的名称。

    String(mix)函数,将任何类型的值转换为字符串,其规则为:

    (1)如果有toString()方法,则调用该方法(不传递radix参数)并返回结果

  • (2) 如果是null,返回”null”

    (3) 如果是undefined,返回”undefined”

    6、Boolean(mix)函数,将任何类型的值转换为布尔值。 以下值会被转换为false:false、”"、0、NaN、null、undefined,其余任何值都会被转换为true
    <script language="javascript">
    <!--
     var priceOfApple = "3元";    // 苹果的价格
     var priceOfBanana = "3.5元";    // 香蕉的价格
     priceOfApple = parseInt( priceOfApple );  // 解析苹果的价格
     var priceOfBanana2 = parseInt( priceOfBanana );  // 解析香蕉的价格
     if( ( priceOfApple===3 ) && ( priceOfBanana2 === 3 ) // 检查解析是否成功
        && ( parseFloat( priceOfBanana ) ===3.5 ) ) 
     {
      alert( "苹果的价格:" + priceOfApple   // 输出水果的价格
       + "\n香蕉的价格的整数部分:" + priceOfBanana2
       + "\n香蕉的价格:" + parseFloat( priceOfBanana ) );
     }
     else
     {
      alert( "并没有得到预期的转换效果!" );  // 解析失败时输出警告信息
     }
    -->
    </script>

  • 示例分数---编写一个程序,记录学生的《高等数学》成绩,要求集中输出60-69,70-79,80-89和90-100各个分数段的学生名字
    <script language="javascript">
    <!--
     var score = new Array(  "王勇", 50,   // 分数表
        "白露", 60,
        "杨杨", 76,
        "李明", 83,
        "张莉莉", 70,
        "杨宗楠", 71,
        "徐霞", 66,
        "杨玉婷", 93
            );
     var namesOf_0To59 = "";     // 存储各分数段人学生名字的变量
     var namesOf_60To69 = "";
     var namesOf_70To79 = "";
     var namesOf_80To89 = "";
     var namesOf_90To100 = "";
     var scoreSum = 0;
     document.write( "<b>《高等数学》成绩统计表</b><br>" ); // 标题
     for( index in score )
     {
      
      if( index%2==1 )// 如果当前元素索引为奇数,则该元素为分数,其前一个元素即为该分数的学生名字
      {
       // 判断当前分数所在的分数段并将学生名字存入相应变量
       if( (score[index]>=0) && (score[index]<=59) )
       {
        namesOf_0To59 += score[index-1] + " ";
       }
       if( (score[index]>=60) && (score[index]<=69) )
       {
        namesOf_60To69 += score[index-1] + " ";
       }
       if( (score[index]>=70) && (score[index]<=79) )
       {
        namesOf_70To79 += score[index-1] + " ";
       }
       if( (score[index]>=80) && (score[index]<=89) )
       {
        namesOf_80To89 += score[index-1] + " ";
       }
       if( (score[index]>=90) && (score[index]<=100) )
       {
        namesOf_90To100 += score[index-1] + " ";
       }
       scoreSum += score[index];   // 统计分数 
      }
     }
     document.write( "<li>00~59分:" + namesOf_0To59 + "<br>" ); // 分别输出各分数段的学生
     document.write( "<li>60~69分:" + namesOf_60To69 + "<br>" );
     document.write( "<li>70~79分:" + namesOf_70To79 + "<br>" );
     document.write( "<li>80~89分:" + namesOf_80To89 + "<br>" );
     document.write( "<li>90~100分:" + namesOf_90To100 + "<br>" );
     // 数组元素个数除以2即为人数,总分除以人数即得平均分
     document.write( "<li>平均分 :" + scoreSum/(score.length/2) + "<br>" );
    -->
    </script>
    示例--处理文本
    <script language="javascript">
    <!--
     var comment = "采莲南塘秋,莲花过人头;低头弄莲子,莲子清如水。今晚若有采莲人,这儿的莲花也算得“过人头”了;只不见一些流水的影子,是不行的。这令我到底惦着江南了。"
     var newComment = "";
     for( n = 0; n<comment.length; n ++ )
     {
      var curChar = comment.charAt( n );
      if( curChar=="莲" )
      {
       newComment += (curChar.bold()).fontcolor("red");
      }
      else
      {
       newComment += curChar;
      }
     }
     document.write("<li><b>原文:</b><br>" + comment + "<br>" );
     document.write("<li><b>标记“莲”字:</b><br>" + newComment + "<br>" );
    -->
    </script

  • 二。JavaScript数据的表示:
      1. 整数:由正负号、数字构成,八进制、十进制、十六进制;
      2. 浮点数:由正负号、数字和小数点构成,常规记数法、科学记数法;
      3. 逻辑值:true、false
      4. 字符串值:单引号、双引号
      5. 空值:null
      6. 未定义值:根本不存在的对象、已定义但没有赋值的量;
  • 三。JavaScript常量:
      1. 布尔常量:true  false
      2. 整数常量:3721  0007  0xaff(0Xaff)
      3. 浮点数常量:3.14  .001  3.721e+3  -3.721E-3
      4. 字符串常量:"你的E-mail地址有误!"
      5. 含转义字符的字符串常量:
        转义字符 意义
        \b 退格(Backspace)
        \f 换页(Form feed)
        \n 换行(New line)
        \r 返回(Carriage return)
        \t 制表符(Tab)
        \' 单引号(')
        \" 双引号(")
        \\ 反斜线(\)

        document.write("我爱\'JavaScript\'")

        document.write("文件在c:\\windows\\下")

        document.write("<pre>未满十八岁\n不得进入!</pre>")

        document.write("未满十八岁<br>不得进入!")

        document.alert("密码不对\n请重新输入!") 
        数组常量:
        hobby=["听音乐","看电影"]
        hobby[0]、hobby[1]
        hobby=["听音乐",,"看电影",] 
        hobby[0]、hobby[1]、hobby[2]、hobby[3]

  • 四。JavaScript变量:
      1. 变量命名规则:
        • 1.首字符必须是大写或小写的字母或下划线(_)或美元符($);
        • 2.后续的字符可以是字母、数字、下划线或美元符;
        • 3.变量名称不能是保留字;
        • 4.长度是任意;
        • 5.区分大小写;
        • 6.约定:集中置顶;
             使用局部变量;
             易于理解;stdId
             避免混乱。usrname  usrName
          声明变量:
        • var stdId;
        • var name,sex;
        • var total=3721;
        • var notNull=true;
        • var name="李小龙",sex="先生";
        • var i=j=0;
      2. 变量赋值:
        stdId = 2004007;
      3. 变量作用域:(方式、位置)
        • 全局变量:省略var,或在函数外声明
        • 局部变量:在函数内声明
        • 全局变量可在整个脚本中被使用,可在不同的窗口中相互引用(指定窗口名)
        • 例:
          <Script>
          var langJS = "JavaScript"; //langJS是全局变量
          test();

          function test() {
              var langVBS = "VBScript"; //langVBS是局部变量
              document.write("<LI>" + langJS);
              document.write("<LI>" + langVBS); 
          }

          document.write("<LI>" + langJS);
          document.write("<LI>" + langVBS);
          </Script>

JavaScript的数据类型---最全,最详细的数据类型,高级的工程师从数据类型开始的更多相关文章

  1. 超全超详细的HTTP状态码大全(推荐抓包工具HTTP Analyzer V6.5.3)

    超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...

  2. 转帖: 一份超全超详细的 ADB 用法大全

    增加一句 连接 网易mumu模拟器的方法 adb  connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...

  3. “全栈2019”Java第十三章:基本数据类型

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. [转载] Python数据类型知识点全解

    [转载] Python数据类型知识点全解 1.字符串 字符串常用功能 name = 'derek' print(name.capitalize()) #首字母大写 Derek print(name.c ...

  5. JavaScript自动计算价格和全选

    JavaScript自动计算价格和全选,价格自增加减,复选框,反选,全选. 如图: 如图: CSS代码 @charset "gb2312"; /* CSS Document */ ...

  6. 史上最全最详细JNDI数据源配置说明

    转: 史上最全最详细JNDI数据源配置说明 2017年08月05日 17:12:08 万米高空 阅读数 23983   版权声明:本文为博主原创文章,转载请注明出处,尊重劳动成果,谢谢~ https: ...

  7. 最全最详细的PHP面试题(带有答案)

    这篇文章介绍的内容是关于最全最详细的PHP面试题(带有答案),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 相关推荐: 分享一波腾讯PHP面试题 2019年PHP最新面试题(含答案) ...

  8. iOS使用fastlane自动化打包到fir(最全最详细流程)

    # iOS使用fastlane自动化打包到fir(最全最详细流程)1. **首先确认是否安装了ruby,终端查看下ruby版本**> ruby -v终端输出:ruby 2.4.1p111 (20 ...

  9. StringBoot整合ELK实现日志收集和搜索自动补全功能(详细图文教程)

    @ 目录 StringBoot整合ELK实现日志收集和搜索自动补全功能(详细图文教程) 一.下载ELK的安装包上传并解压 1.Elasticsearch下载 2.Logstash下载 3.Kibana ...

随机推荐

  1. Servlet输出PDF文档方法

    概述 Java Servlet 编程可以很方便地将 HTML 文件发送到客户端的 Web 浏览器.然而许多站点还允许访问非 HTML 格式的文档,包括 Adobe PDF.Microsoft Word ...

  2. RAP接口管理系统import进eclipse进行二次开发

    接口管理工具用了RAP,又是巴巴队伍的东西,开源的,需要进行二次开发方可被使用. 前几个月的时候鼓捣了一阵子,下来一片红,然后就没管它了.最近又捡起.直接git导入项目即可. 安装git插件,网上很多 ...

  3. Maven项目对象模型(POM)

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Maven 的缺省构建 ...

  4. (实用)Eclipse中使用命令行(运行外部程序)

    备忘 http://www.oschina.net/question/28_46291 另外,在eclipse的console菜单中可以选择“new console view”(新控制台视图),这样就 ...

  5. js 创建多行字符串

    function heredoc(fn) { ,-).join('\n') + '\n' } var tmpl = heredoc(function(){/* !!! 5 html include h ...

  6. [lua, mysql] 将多条记录数据组合成一条sql插入语句(for mysql)

    -- 演示将多条记录数据组合成一条sql插入语句(for mysql) function getTpl0(tname) -- 获取表各个字段 local t = { tpl_pack = {" ...

  7. UITextView: 响应键盘的 return 事件

    UITextFieldDelegate代理里面响应return键的回调:textFieldShouldReturn:.但是 UITextView的代理UITextViewDelegate 里面并没有这 ...

  8. [AngularJS]ng-repeat指令要点

    ng-repeat指令要点 1,基本格式,这里不作过多说明,需要的话查看文档 <div ng-repeat="item in someCollection [| someFilter: ...

  9. UNIX环境编程学习笔记(15)——进程管理之进程终止

    lienhua342014-10-02 1 进程的终止方式 进程的终止方式有 8 种,其中 5 种为正常终止,它们是 1. 从 main 返回. 2. 调用 exit. 3. 调用_exit 或_Ex ...

  10. webdriver 日期控件的处理

    http://www.cnblogs.com/liu-ke/p/4200736.html http://blog.csdn.net/wanglha/article/details/44620627 h ...