JavaScript学习笔记(一)

1. JavaScript输出

参考资料:https://www.cnblogs.com/MockingBirdHome/p/3398440.html

JavaScript 没有任何打印或者输出的函数。

1.1 javascript显示数据

JavaScript 可以通过不同的方式来输出数据:

  • 使用**document.write()**方法将内容写到 HTML 文档中。

  • 使用 window.alert() 弹出警告框。

  • 使用innerHTML写入。

  • 使用**console.log()**将内容写到浏览器控制台。

1.1.1 使用document.write()

可以使用document.write()方法将信息直接写到HTML文档中,下面例子,输入系统当前时间:

<!DOCTYPE html>
<html>
	<body>

		<h1>使用document.write()输入内容</h1>
		<p>我的第一个段落。</p>

		<script>
			document.write(Date());
		</script>

	</body>
</html>

注意在:请使用 document.write() 仅仅向文档输出写内容。如果在文档已完成加载后执行 document.write(),整个 HTML 页面内容将被覆盖。

内容被覆盖的例子:

<!DOCTYPE html>
<html>
	<body>

		<h1>要被覆盖</h1>
		<p>点击按钮就会被覆盖</p>
		<button onclick="myFunction()">点我</button>

		<script>
			function myFunction() {
   				document.write(Date());
			}
		</script>

</body>
</html>

1.1.2 使用window.alert()

下面例子:窗口弹出一个运算结果等于11的警告框:

<!DOCTYPE html>
<html>
	<body>
        
		<h1>使用window.alert()显示信息</h1>
		<p>我的第一个段落。</p>
        
		<script>
			window.alert(5 + 6);
		</script>
        
	</body>
</html>

1.1.3 使用innerHTML()

如果要从javascript中访问HTML标签元素,可以使用innerHTML()方法。具体用法为:document.getElementById(“HTML标签元素的id号”).innerHTML(),使用 “id” 属性来唯一标识 HTML 元素,并 innerHTML 来获取或插入元素内容。

下面例子:把id为demo的HTML标签内容该为“修改后的内容”:

<!DOCTYPE html>
<html>
	<body>
        
		<h1>使用innerHTML显示信息</h1>
		<p id="demo">初始内容</p>
        
		<script>
			document.getElementById("demo").innerHTML = "修改后的内容。";
		</script>
        
	</body>
</html>

注意:使用innerHTML()方法写入信息的时候被,写写入的信息会覆盖之前的信息。

1.1.4 使用console.log()

在浏览器的开发者模式中可以查看到用console.log()写入的内容:

<!DOCTYPE html>
<html>
	<head> 
		<meta charset="utf-8"> 
		<title>使用console.log()</title> 
	</head>
	<body>
	
	<h1>我的第一个 Web 页面</h1>
	<p>浏览器开发者模式输出a+b的结果。</p>
        
	<script>
		a = 5;
		b = 6;
		c = a + b;
		console.log(c);
	</script>
	
</body>
</html>

主要是方便调式javascript用的, 在浏览器开发者模式的console中可以看到页面中输出的内容。

2 javacript注释

  • 单行注释:以//开头;
  • 多行注释:以 /* 开始,以 */结束;

如果不能确定浏览器是否支持JavaScript脚本,那么可以使用HTML提供的注释符号进行验证。HTML的注释是以<--开始以-->结束,如果在HTML的<--注释-->中编写javascript脚本,如果浏览器不支持javascript脚本,那么它就会把javascript脚本当作注释的内容处理掉。

使用javascript脚本在页面输出一个字符串内容,将javascript脚本卸载HTML的注释中,如果浏览器支持javascript,那么页面将会输出javascript脚本编写的字符串内容,否则就不会输入这个字符串

<script>
<!--
document.write("浏览器支持JavaScript脚本!");
//-->
</script>

**注意:**注释行结尾处的 // 是 JavaScript 注释符号。这可以避免 JavaScript 执行 –> 标签。

3 javascript变量

3.1 javascript变量的命名规则

  • 必须以字母开头
  • 也能以 $ 和 _ 符号开头(不推荐这么做)
  • 变量名称对大小写敏感(a和 A 是不同的变量)

3.2 变量的声明

我们使用 var 关键词来声明变量:

var carname;

在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。

声明新变量时,可以使用关键词 “new” 来声明其类型:

var carname=new String;
var x=new Number;
var y=new Boolean;
var cars=new Array;
var person= new Object;

JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

3.2 javascripts数据类型

**值类型:**字符串(String)、数字(Number)、布尔(Boolean)、对空(null)、未定义(undefine)、Symbol;

**引用数据类型:**对象(Object)、数组(Array)、函数(Function);

Symbol是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

  • 字符串:字符串可以是引号中的任意文本可以使用单引号或双引号;
  • 数字:JavaScript 只有一种数字类型。数字可以是整数,也可以是小数,同时太大或太小的数可以用科学记数法来表示;
  • 布尔:布尔逻辑值只有true和false两个值;
  • 数组:同java中的类似,创建数组主要有以下几种方式;
//创建名为cars的数组,并给数组内容赋值
var cars=new Array();
cars[0]="zahngsan";
cars[1]="lisi";
cars[2]="wangwu";

var arr1 = new Array('a', 'b', 'c'); //这是一个预定义的数组,在创建时初始化
var arr2 = ['a', 'b', 'c' ];  //同样是在创建时初始化,但是这种创建更为简洁直观
//这两种是创建空的数组
var arr3 = new Array( );
var arr4 = [ ];     

就算变量定义的是数组格式,typeof返回的数据类型还是 object。如果要判断该对象是否为数组,可以使用以下两种方法:

//方法一:使用 isArray 方法
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";

// 判断是否支持该方法
if (Array.isArray) {
    if(Array.isArray(cars)) {
        document.write("该对象是一个数组。") ;
    }
}

//方法二:使用 instanceof 操作符
if (cars instanceof Array) {
    document.write("该对象是一个数组。") ;
}

  • 对象:对象由花括号分隔。在括号内部,对象的属性以名称和值的形式 (name : value) 来定义。多个属性由逗号分隔;
//创建对象时追加属性和方法
var Person={
    name :"lisa";
    age  :18;
    sex  :"man"
}
var people = {
    name : 'Tom', 
    age : 21 ,
    eat : function(){  }    
}

//先创建对象再追加属性和方法
var people = new Object();
people.name = 'Tom';   
people.age = 21;  
people.eat = function(){  }

//访问Person对象属性的两种方式
name=Person.name;
name=Person["name"];
  • undefine:undefine类型只有一个值,即特殊的undefined。在使用var声明变量,但还没有对其进行初始化;
var message;  //message的值为undefined
  • null:null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。

注意:

  • 一般而言,不存在需要显式地把一个变量设置为undefined值的情况。引入这个值是为了正式区分空对象指针与未经初始化的变量。
  • 如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用。
  • 无论在什么情况下都没有必要把一个变量的值显式地设置为undefined,可是同样的规则对null却不适用,换句话说,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存null值。

undefine和null的区别:

  • undefined表示变量声明但未初始化时的值,null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。
  • 未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。
console.log(typeOf undefined); //undefined
console.log(typeOf null);//object
  • 转化为值时不一样:undefined为NaN ,null为0;
console.log(Number(undefined));//NaN
console.log(Number(10+undefined));//NaN
console.log(Number(null));//0
console.log(Number(10+null));//10

undefined===null;//false
undefined==null;//true
  • javascript会自动将声明是没有进行初始化的变量设为undifined,而null值不能通过javascript来自动赋值,也就是说必须要我们自己手动来给某个变量赋值为null;

3.2.1 javascripts拥有动态数据类型

javascripts拥有动态数据类型,也就是说相同的变量可用作不同的类型;

var x;        //x为undifine
var x=5;      //此时x为数字类型
var x="lisa"  //此时x为字符串类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值