一.基本数据类型

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. Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介、数据类型转换四大方法、案例应用之详细攻略

    Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介.数据类型转换四大方法.案例应用之详细攻略 目录 特征工程中数据 ...

  2. 呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!!

    呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!! ✴️大家好,我是王同学,爆肝三天三夜王同学把JavaScript 知识点梳理了一遍,文章没有一点套路,只有满满的干货 ✴️如果对你 ...

  3. JavaScript中Object对象方法超详细讲解举例说明仅此一篇

    JavaScript中Object对象方法超详细讲解举例说明仅此一篇 Object.assign() Object.create() Object.values() Object.entries() ...

  4. 【运筹学】线性规划 单纯形法 阶段总结 ( 初始基可行解 | 判定最优解 | 迭代 | 得到最优解 | 全流程详细解析 ) ★

    文章目录 一.线性规划示例 二.转化标准形式 三.查找初始基可行解 四.初始基可行解的最优解判定 五.第一次迭代 : 入基与出基变量选择 六.第一次迭代 : 方程组同解变换 七.第一次迭代 : 生成新 ...

  5. pythontuple数据类型_Python数据类型之元组的详细介绍

    本篇文章给大家带来的内容是关于Python数据类型之元组的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.元组的概念python中的元组是有序元素组成的集合,与列表的区别 ...

  6. php获取js函数返回的值_最全最详细的PHP面试题(带有答案)

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

  7. 超全超详细的HTTP状态码大全

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

  8. 使用JavaScript使浏览器进入全屏或退出全屏

    使用JavaScript使浏览器进入全屏或退出全屏 首先使用fullscreenElement判断浏览器是否在全屏状态. 如果是:则调用exitFullscreen函数退出全屏,否则调用request ...

  9. 计算机工程博士参军,Gatech计算机工程博士专业排名最全信息详细分析

    原标题:Gatech计算机工程博士专业排名最全信息详细分析 佐治亚理工学院 简称 Georgia Tech,1885 年创校,是美国杰出的理工学院,排名仅次于麻省理工学院 和 加州理工学院.学院在校学 ...

最新文章

  1. boost::mpl模块实现same_as相关的测试程序
  2. 笔记:用EXCEL计算收益(复利)
  3. 1039: 二哥的困惑 Ⅱ
  4. Java黑皮书课后题第5章:5.13(求满足n的三次方<12000的n的最大值)使用while循环找出满足n的三次方<12000的n的最大值
  5. 根据rtk参数在arcgis中进行可视化
  6. java二次排序_使用java 实现二次排序
  7. 基于平面 marker 的 Bundle Adjustmet
  8. 【Java】关于Java编程软件idea快捷键的使用
  9. 广义逆高斯分布(Generalized Inverse Gaussian Distribution)及修正贝塞尔函数
  10. python单词的含义-python
  11. Linux网络属性及其配置
  12. 1988-2020年各省、分城乡基尼系数、基尼系数计算及相关经典文献、1978-2019年中国省市恩格尔系数表、泰尔指数计算模板、208个地级市和31个省、市城乡泰尔指数
  13. swpu计算机科学学院推荐免试,西南石油大学2020届本科毕业生推荐免试硕士研究生结果公示 - 千里马招标网...
  14. cass软件yy命令_南方CASS软件快捷命令大全,高手必备。。。
  15. 单声道数据转双声道_单声道转双声道
  16. vscode好用插件——磨刀不误砍柴工!
  17. Wireshark实验
  18. 01超精美渐变色动态背景完整示例【CSS动效实战(纯CSS与JS动效)】
  19. WPS表格的常用操作技巧大全
  20. 抗真菌、细菌化合物库、抑制剂

热门文章

  1. hdu4539 郑厂长系列故事——排兵布阵 + POJ1158 炮兵阵地
  2. hdu4370 比较抽象的最短路
  3. 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 尝试进行瞬移操作 | 尝试查找飞天漏洞 )
  4. 【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )
  5. 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )
  6. 2018-2019-1 20165236 《信息安全系统设计基础》第4周学习总结
  7. 嵌入式软件设计第8次实验报告-140201235-陈宇
  8. 119. Pascal's Triangle II (Graph; WFS)
  9. [Java]jdbc[转]
  10. SpannableString