我要学前端 - - >>JavaScript

1 篇文章 0 订阅
1 篇文章 0 订阅

js是什么

js历史

在这里插入图片描述
为了统一三家,ECMA(欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳ECMAScript作为标准(ISO/IEC-16262)。从此,Web浏览器就开始努力(虽然有着不同的程度的成功和失败)将ECMAScript作为JavaScript实现的基础。EcmaScript是规范.

js组成

JavaScript是一种专为与网页交互而设计的客户端脚本语言。最初是为了实现表单验证之前表单验证都是在服务器完成

JS组成:核心(ECMAScript)
浏览器对象模型(BOM)Broswerobjectmodel(整合js和浏览器)
文档对象模型(DOM)Documentobjectmodel(整合js,css,html)

JavaScript基本语法

   JavaScript的语法很多都借鉴了C语言或者类C语言。在JavaScript中是区分大小写的,第一个字符必须是一个字母、下划线(_)或者美元符号($)符号。注视这一块也是C语言风格的注释,可以是//也可以是/**/。

   typeof 操作符可以让用户知道变量是什么数据类型。
<!DOCTYPE html>
<html>
    <head>
       <meta charset="utf-8" />
	   <title>网页标题</title>
	   <script type="text/javascript">
		   var flag = true;
		   alert(typeof flag);
		   //返回结果是 boolean
	   </script>
    </head>
    <body>
        
    </body>
</html>

NAN

NAN是英文Not a Number的缩写,从英文意思就知道是非数值。这个数值主要表示本来要返回一个数值的操作数未返回数值的情况。(这样就不会抛错误了)。就举个例子,当 9 / “hello” 的时候,返回的则是NAN。因为9是数值但是"hello"不是数值而是字符串。isNAN()函数就是用来判断一个值到底是不是数值

	 alert(isNaN(NaN));	//true
	 alert(isNaN(666)); //false

数值转换
在JavaScript里面有三个函数可以把非数值转换成数值: Number()、parseInt()、parseFloat()。第一个函数Number可以用于任何数据类型、另外两个函数就是专门给字符串用的,在Java语言里面也见过这样的方法。
使用Number转化成数值的时候,字符串必须完全是数字,否则返回NAN。使用parseInt的时候,如果第一个字符是数值那么它会判断第二个字符是不是数值。直到遇见非数值的时候,后面的就不会再判断直接返回前面的内容了。就比如num3只返回了15一个道理。

		var num1 = Number("helloworld");	//NAN
		var num2 = parseInt("hello");		//NAN
		var num3 = parseInt("15asf96");		//15
		var num4 = parseInt("4546465");		//4546465
		var num5 = Number("asf45448f4sa86");	//NAN
		var num6 = Number("15464");			//15464
		var num7 = Number("15asfasf");		//NAN
		alert(num1 + " " + num2 + " " + num3 + " " + num4 + " " + num5 + " " + num6 + " " + num7);

字符串面量

在这里插入图片描述

js引入

  1. 直接在html中编写
<script type="text/javascript">
	/* 警告弹出框 */
	alert("hello world")
</script>

eg:

<!DOCTYPE html>
<html>
<head>
	<title>js基础</title>
	<script type="text/javascript">
		alert("hello world")
	</script>
</head>
<body>

</body>
</html>

在这里插入图片描述

  1. 外部引入js
<script type="text/javscript" src="js/demo.js">

js编写

js基本数据类型

数字number-->100,3.14
字符串string-->'hello'"hello"
布尔值boolean-->truefalse
特殊数据类型null-空undefined-未声明`

js变量

变量,值可以改变的叫做变量

  1. 声明变量通过关键字(系统定义的有特殊功能的单词)var
    <1>声明变量的时候,同时给变量赋值,叫初始化
  2. 变量赋值
  3. 同时定义多个变量变量之间要使用逗号隔开。

js标识符

标识符:用户自定义的所有名字叫做标识符

标识符规则:1.由数字、字母、下划线、$组成。除外的不可
2.不能以数字开头
3.区分大小写
4.标识符必须见名知意

JS-BOM

BOM就是浏览器的对象模型,浏览器可以通过调用系统对话框,向用户显示信息。
系统提供了三个函数,可以完成系统对话框的操作

window.alert("警告框");
window.confirm("请选择确定和取消");
window.prompt("请输入一个数","默认值");

JS-DOM

DOM是文档对象模型:开始到结束
HTML+CSS–>页面内容
JS–>页面行为操作

注:DOM是打通HTML与CSS和JS壁垒的工具

DOM中节点种类:三种–>在JS中所有节点都是对象。
元素节点->


属性节点->title=“属性节点”
文本节点->内容

1.通过id获取节点

<script>
	var oDiv=document.getElementByld("div1")
	alert(oDiv);
</script>
<body>
	<div id="div1"></div>
</body>

通过该节点对象获取该标签属性

alert(oDiv.tagName);
alert(oDiv.innerHTM);
oDiv.innerHTML="<h1>我</h1>";-->会解析标签

.HTML属性:

id  
title
style
class
Name

访问这些属性:
元素节点.属性名
元素节点[属性名]

alert(oDiv.id);
alert(oDiv.title);
alert(oDiv.className);
alert(oDiv.style);//样式对象
alert(oDiv.style.width);
oDiv.style.width="400px";
//style样式中background-color使用-链接的属性访问的时候
//需要将-去掉,然后将后续单词的首字母大写alert(oDiv.style.backgroundColor);
oDiv.style.backgroundColor="blue";

以上代码获取到的是null
原因:
因为代码从上往下执行,还没有加载出BOM元素(html代码)->就执
行script代码(DOM)
解决1.script放置body后面(但语法规范script要放在head标签中)
解决2.

window.onload = function(){//在页面加载完成以后执行的函
数}

如:

<script type="text/javascript">
		
		
		window.onload = function(){
			var res = document.getElementById('1');
			alert(res);
			alert(res.tagName);
			alert(res.innerHTML);
		}
		
	</script>

JS编写注意

  1. type="text/javascript说明当前script标签中文本的类型
  2. 所有JS代码写在script标签
  3. script放在head标签中
  4. 可以引入多个script标签,多个script标签顺序执行
  5. js代码可以外部引入src引入外部文件
  6. 如果当前script标签作用是引入外部文件,那么这个script标签中就不能再写入代码了。

获取元素节点

通过顶层document节点获取

<-- id 属性:-->
document.getElementByld()
<-- tagName标签名:-->
document.getElementsByTagName()
<-- name属性:-->
document.getElementsByName()
<-- class属性:-->
documentsByClassName()

其中id属性是获取单个属性节点,而tagName标签,name属性,class属性,都可获取多个节点
例如:

<script type="text/javascript">
		
		
		window.onload = function(){
			var res = document.getElementsByTagName('li');
			alert(res.length); //长度
		
		}
		
	</script>
</head>
<body>
	
		<ul id='ul1'>
			<li>111</li>
			<li>222</li>
			<li>333</li>
			<li>444</li>
		</ul>
		<ol>
			<li>555</li>
			<li>666</li>
			<li>777</li>
			<li>888</li>
		</ol>	

</body>

结果:
在这里插入图片描述
拓展:

<script type="text/javascript">
		
		
		window.onload = function(){
			
			var res1 = document.getElementById('ul1');  //选定ul下的
			var res2 = res1.getElementsByTagName('li');  //选定ul下的所有li
			for(var i=0;i<res2.length;i++){
				alert(res2[i].innerHTML);                //用for循环打印所有输出
			}
		}
		
	</script>
</head>
<body>
	
		<ul id='ul1'>
			<li>111</li>
			<li>222</li>
			<li>333</li>
			<li>444</li>
		</ul>
		<ol>
			<li>555</li>
			<li>666</li>
			<li>777</li>
			<li>888</li>
		</ol>	
</body>

结果演示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值