WEB_Day05(JavaScript:数据类型、三大引用类型、输出语句、undefined和null、语句、运算符、弹出框、内置对象)

WEB_Day05(JavaScript:数据类型、三大引用类型、输出语句、undefined和null、语句、运算符、弹出框、内置对象)

JavaScript

作用:表单验证、页面特效、动态添加内容
组成:ECMAScript(核心语法)、DOM、BOM
使用方式:

  1. 行内的js
  2. 内部js
  3. 外部js 在html文件的外部 创建一个.js的文件 将js代码放在文件中 在使用时通过<script src=”外部js的路径” type=”text/javascript/>

定义变量:var 变量名=值
如果要获取当前值的真实类型 可以使用typeof
数据类型: Number、String、Boolean、Null、Undefined、复杂类型
Number : 整型和浮点型、Number()、NaN、parseInt()、parseFloat()
String : 双引号、单引号引起的都是字符串 String()、toString() 拼串 length属性
Boolean : true false

在这里插入图片描述

Undefined:

  • Undefined 类型只有一个值,即特殊的 undefined 。
  • 在使用 var 声明变量但未对其加以初始化时,这个变量的值就是 undefined。
  var s;
    console.log(s);//undefined
    // console.log(a);//is not defined
    console.log(typeof s);//undefined
    console.log(typeof b);//undefined

注意:对于声明但为初始化的变量或者未声明的变量在使用typeof都返回undefined
Js是一门解释执行的语言,因此一旦其中的一句出错则后续代码将不再执行

Null:

Null 类型是第二个只有一个值的数据类型,这个特殊的值是null 。

  • 从语义上看null表示的是一个空的对象。所以使用typeof检查null会返回一个Object。
  • undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true;
  console.log(null == undefined);// 比较值 true
  console.log(null === undefined);// 比较的类型和值  false

Object类型:

js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

三大引用类型

Object类型:

第一种是使用new操作符后跟Object构造函数,如下所示:

	var person = new Object();
    person.name = "张三";
    person.age = 22;
    console.log(person.name + "--" + person.age);//datatype.html:21 张三---22

第二种方式是使用对象字面量表示法,如下所示:

    var stu = {
      name: "李四",
      age: 21
    }
    console.log(stu.name + "---" + stu.age);//李四---21

Array类型:

数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象…另外,数组的大小是可以动态调整的。

 	var arr = new Array();
    arr[0] = "js";
    arr[1] = "html";
    arr[2] = 10;
    arr[3] = true;
    arr[4] = null;
    for (var i = 0; i < arr.length; i++) {
      console.log(arr[i]);
    }
	//静态初始化
    var arr1 = ["hello", 100, false, null];
    for (var i = 0; i < arr1.length; i++) {
      console.log(arr1[i]);
    }

Function类型:

定义函数:

  function 函数名称(参数列表){
      方法体;
      如果有返回值 则使用return返回即可;
    }

函数的定义及调用:

    //函数的定义
    function sum(num1, num2) {
      var s = num1 + num2;
      console.log(s);
    }
    function sum1(num1, num2) {
      var s = num1 + num2;
      return s;
    }
    sum(5, 6);//通过函数名称来调用
    var ss = sum1(4, 5);
    console.log(ss);
  <input type="button" value="求和" onclick="sum(2,3)">
   var sum2 = function (n1, n2) {
      return n1 + n2;
    }
    var sss = sum2(8, 9);
    console.log(sss);

Js中的值传递和引用传递:

题目1: var a = 100;     
var b = a;     
a = 200;     
console.log (b);//100
题目2: var a = {age : 20};     
var b = a;     
b.age = 21;     
console.log (a.age);//21

输出语句:

Console.log()将内容输出到浏览器控制台
Alert()将内容作为警告框的内容弹出
Document.write()将内容写出到页面的body

区分 undefined 和 null :

null表示"没有对象",即该处不应该有值。典型用法是:

  1. 作为函数的参数,表示该函数的参数不是对象。
  2. 作为对象原型链的终点。

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:

  1. 变量被声明了,但没有赋值时,就等于undefined。
  2. 调用函数时,应该提供的参数没有提供,该参数等于undefined。
  3. 对象没有赋值的属性,该属性的值为undefined。
  4. 函数没有返回值时,默认返回undefined。

语句

Java中的语句: 判断语句 if switch 循环语句:for while do…while js中的语句: 判断语句 if switch 循环语句:for while do…while 判断语句中,条件如果直接写=号,那就是赋值操作。 Switch语句和java中的一样。 注意switch所支持的数据类型。js支持所有 For循环也和java中的一样,但是要注意定义变量时使用var,不要写成java的int。
使用for循环在页面上输出一个九九乘法表

 <script type="text/javascript">
    function chegnfabiao() {
      for (var i = 1; i < 10; i++) {
        for (var j = 1; j <= i; j++) {
          document.write(j + " * " + i + "=" + j * i + "&nbsp;&nbsp;&nbsp;&nbsp;");
        }
        document.write("<br/>");
      }
    }
    chegnfabiao();
  </script>

运算符

在这里插入图片描述
在这里插入图片描述
关系运算符: 小于( <) 、大于( >) 、小于等于( <=)和大于等于( >=)
Javascript中小数和整数都是数字类型,所以除法中没有整数,会出现小数。 var j= 123; alert(j/1000*1000); 字符串与数字相加,是字符串链接,如果相减,字符串直接转换成数字再相减。
Boolean类型可以进行运算,false就是0或者null,非0非空是true,默认用1显示。 ++ – 等和java中一样。

var a = true;
    var b = 10;
    document.write(a + b);
    document.write("<br/>");
    var c = "aa";
    var d = 10;
    document.write(c + d);//aa10
    document.write(c - d);//NaN
    document.write("<br/>");
    var x = "10";
    var y = 1;
    document.write("<br/>");
    document.write(x - y);//9
    var m = 123;
    var n = 100;
    document.write("<br/>");
    document.write(m / n);//1.23

== 和 ===的区别

    var t = 11;
    var p = "11";
    document.write("<br/>");
    document.write(t == p);// 比较内容是否相同
    document.write("<br/>");
    document.write(t === p);// 先比较类型 如果类型不同 则直接返回false  如果类型相同 在比较内容

双等号==:

  • 如果两个值类型相同,再进行三个等号(===)的比较
  • 如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:
    • 如果一个是null,一个是undefined,那么相等
    • 如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较

三等号===:

  • 如果类型不同,就一定不相等
  • 如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,只能使用isNaN( ) 来判断)
  • 如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。
  • 如果两个值都是true,或是false,那么相等
  • 如果两个值都引用同一个对象或是函数,那么相等,否则不相等
  • 如果两个值都是null,或是undefined,那么相等

在这里插入图片描述
条件运算符

  • 条件运算符也称为三元运算符。通常运算符写为?:。
  • 这个运算符需要三个操作数,第一个操作数在?之前,第二个操作数在?和:之间,第三个操作数在:之后。 例如: x > 0 ? x : -x // 求x的绝对

弹出框

 <script type="text/javascript">
    //警告框
    alert("这是一条警告信息");
    // 确认框  该确认框会有确定和取消按钮 当点击确定按钮 返回true  点击取消 返回false
    var c = confirm("你确定要删除该数据吗?");
    alert(c);
    //提问框 可以让用户输入内容 返回值为用户输入的值
    var p = prompt("请输入您的考试成绩");
    console.log(p);
  </script>

内置对象

顶层函数:

在这里插入图片描述

eval("var x = 3;var y = 5; alert(x +5)");
eval("document.write(1 + 6)");

方法:

  • isNaN() 检查某个值是否是数字。
  • parseInt() 解析一个字符串并返回一个整数。
  • parseInt(string, radix)
    • radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN
  • parseFloat() 解析一个字符串并返回一个浮点数。
  • toString() 把对象的值转换为字符串。

常见内置对象:

  • String
  • Number
  • Array
  • Math
  • Date
    (1)Math对象属性:Math对象的属性表示只读的数学常数
Math.E:常数e。 // 2.718281828459045
Math.LN2:2的自然对数。// 0.6931471805599453
Math.LN10:10的自然对数。// 2.302585092994046
Math.LOG2E:以2为底的e的对数。// 1.4426950408889634
Math.LOG10E:以10为底的e的对数。// 0.4342944819032518
Math.PI:常数Pi。// 3.141592653589793
Math.SQRT1_2:0.5的平方根。// 0.7071067811865476
Math.SQRT2:2的平方根。// 1.4142135623730951
 2)Math对象的方法

【Math.round()方法】:四舍五入
  当参数为正数时,正常的四舍五入标准。(小于0.5取0,大于等于0.5取1)
  当参数为负数时,向下取整标准。(小于等于-0.5取-0,-大于0.5取-1)
  Math.round(0.1) // 0
  Math.round(0.5) // 1
  Math.round(-1.1) // -1
  Math.round(-1.6) // -2
    【Math.floor()方法】:返回小于参数值的最大整数。(向下取整)
  Math.floor(3.9) // 3
  Math.floor(-3.2) // -4
【Math.ceil()方法】:返回大于参数值的最小整数。(向上取整)
Math.ceil(3.2) // 4
Math.ceil(-3.9) // -3
    Math. random()方法】:返回0到1之间的一个伪随机数。可能等于0,但是一定小于1。
Math.random() // 0.7151307314634323
查看下列代码,并说明下列两个函数的作用:
function getRandomNumber(min, max) {
  return Math.random() * (max - min) + min;
}
function getRandomIntNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min);
//生成一个10--22之间的随机数
    document.write(parseInt(Math.random() * 12 + 10));

生成一个随机点名器:

 var names = ["张三", "李四", "王五"];
    var index = parseInt(Math.random() * 3);
    document.write(index + "-----" + names[index]);

Date:

Date对象是JavaScript提供的日期和时间的操作接口。
在JavaScript内部,所有日期和时间都储存为一个整数。
这个整数是当前时间距离1970年1月1日00:00:00的毫秒数,正负的范围为基准时间前后各1亿天
同Math对象一样,javascript也为Date对象提供了很多内置的方法。

  (1)Date()函数
  Date函数可以被Date对象可以直接调用,返回一个当前日期和时间的字符串。
  Date();  //"Fri Nov 7 2014 14:52:00 GMT+0800 (中国标准时间)"
  Date(2000,1, 1); //"Fri Nov 7 2014 14:52:00 GMT+0800 (中国标准时间)"
// 无论有没有参数,直接调用Date总是返回当前时间
   (2)Date(日期字符串|日期参数)构造函数
Date对象是一个构造函数,对它使用new命令,会返回一个Date对象的实例。
【如果不加参数,生成的就是代表当前时间的对象。】
  语法:var date1 = new Date();
  var today = new Date();
  // "Fri Nov 7 2014 14:52:00 GMT+0800 (中国标准时间)"
【如果添加一个日期字符串作为参数,返回字符串所对应的时间。】
语法:var date2 = new Date("January 6, 2013");
  // Sun Jan 06 2013 00:00:00 GMT+0800 (中国标准时间)
 document.write(new Date(2020, 10, 10));

标准时间的字符串表示:

   一些其他合法的日期字符串写法

new Date(datestring)
new Date("2013-2-15")
new Date('2013/2/15')
new Date("2013-FEB-15")
new Date("FEB, 15, 2013")
new Date("FEB 15, 2013")
new Date("Feberuary, 15, 2013")
new Date("Feberuary 15, 2013")
new Date("15, Feberuary, 2013")
Sun Jan 06 2013 00:00:00 GMT+0800 (中国标准时间)
   (3)日期运算
  之前提到过,javascript内部存储日期类型的时候等于距离1970年1月1日零点的毫秒数。而显示给用户的时候是转换为字符串显示的。因此:
  两个日期对象进行减法运算,返回的就是它们间隔的毫秒数。
  两个日期对象进行加法运算,返回的就是连接后的两个字符串。
  var d1 = new Date(2000, 2, 1);
  var d2 = new Date(2000, 3, 1);
  console.log(d2-d1);//2678400000
  console.log(d2+d1);//Sat Apr 01 2000 00:00:00 GMT+0800 (中国标准时间)Wed Mar 01 2000 00:00:00 GMT+0800 (中国标准时间)
    (4)日期对象的get*系列方法
getTime():返回实例对象距离1970年1月1日00:00:00对应的毫秒数,等同于valueOf方法。
getDate():返回实例对象对应每个月的几号(从1开始)。
getDay():返回星期几,星期日为0,星期一为1,以此类推。
getYear():返回距离1900的年数。
getFullYear():返回四位的年份。
getMonth():返回月份(0表示1月,11表示12月)。
getHours():返回小时(0-23)。
getMilliseconds():返回毫秒(0-999)。
getMinutes():返回分钟(0-59)。
getSeconds():返回秒(0-59)。

进行日期的格式化:

var d = new Date();
    document.write("<br/>")
      document.write(d.getFullYear() + "-" + d.getMonth() + 1 + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值