js day01 变量, 引入, 属性操作, 样式操作

  • A+
所属分类:Web前端
摘要

1、javascript历史 了解2、javascript引入 重点3、变量 重点4、样式操作 重点


今天内容

1、javascript历史 了解

2、javascript引入 重点

3、变量 重点

4、样式操作 重点

javascript引入

1、行内 不建议使用

是在开始标签内 写入js的代码

注意:我们一般不使用行内,因为会降低服务器或者浏览器的性能,增加维护的难度

<!-- 需求:在开始标签内写入一个点击事件,然后弹出一个框 --> onclick:单击事件名称 alert():他是js自带的弹窗,带有一个确定按钮,具有阻塞(如果我不点击确定,后面的代码不会执行)作用,只是用来测试使用不能用于实际开发 <div onclick="alert('我是行内js')"></div> 

2、内部(内嵌)

  • 在使用内部的js的时候,需要使用script双标签,所有的js代码必须放在这个script双标签之间
  • 这个script双标签可以放在页面的任何位置,但是建议放在head和body的结束标签之前
<script> alert('我是内部的js使用');  </script> 

3、外部

使用外部js需要在外部建立一个外部的js文件,扩展名.js

在页面中使用script双标签,使用属性src链接外部js的路径

可以放在页面的任何位置,但是建议放在head和body的结束标签之前

 <script src="./index.js"></script> 

4、伪协议

这个伪协议是针对超链接 只要用到js操作超链接

就需要在超链接的属性href写入javascript:;

<a href="javascript:;"></a> 
// document:文档 // get:获取 // set:设置 // Element:元素 // By:通过 // Id:id  // 通过id获取这个元素  document.getElementById('a').onclick = function(){ alert('123') } 

放置位置的问题

window.onload :

原因:代码的加载顺序是从上到下,从左到右,找不到元素的

window.onload就是先去加载页面的资源(标签,文本,图片等等)在去加载window.onload里面的js代码

注意:一个页面中,只能有一个window.onload,如果有多个,后面的会覆盖前面的

// 使用window.onload window.onload = function () {     document.getElementById('box').onclick = function () {         // 事件触发后,元素执行的动作代码块         alert(123);      } } 

注释

单行: // 只能注释一行代码 ctrl+/

块注释:/*注释的代码*/ 可以注释多行代码 ctrl+ /

文件 - 首先项 - 键盘快捷方式

引号

单引号和双引号的作用是一样的

使用:不管是单引号还是双引号必须成对出现,不能交叉使用

// 如果外面是双引号,里面必须使用单引号  反之亦然  alert("我是单引号'和'双引号结合使用"); 

javascript入门三部曲

// 需求:单击span,弹出“我被点击了” // 1、谁发生事件   找元素 获取到 // document.getElementById('span')  // 2、确定发生什么事件 // 单击事件  onclick     // 3、干什么事   弹出“我被点击了”  document.getElementById('span').onclick = function(){     alert('我被点击了'); } 

事件

onclick  单击事件 onmouseover 鼠标经过事件 onmouseout  鼠标离开的事件  onmouseleave 鼠标离开的事件 onmouseenter  鼠标经过事件  onmousedown 鼠标按下事件 onmouseup  鼠标抬起事件  onmousemove 鼠标的移动的事件 oncontextmenu 鼠标右键事件  

变量

变量就是用来存储值得一个容器

我们在声明变量的时候,要使用关键字 var

注意:先声明后使用

js day01 变量, 引入, 属性操作, 样式操作

// 在js里面,一个变量的数据类型,是有等号右边的值来决定的 var a = 10; var b = 0.2;   

变量的声明规则

1、使用字母、下划线、$开头

2、使用字母、下划线、$、数字组成

3、不能使用关键字和保留字(就是现在不是关键字,但是将来会成为关键字的字)

4、遵循驼峰命名法(当变量名由两个单词或者两个以上的代词构成的时候,从第二个单词开始,首字母要大写)

5、有语义化

// 变量的声明规则 var userName= '张三'; var passWord = '123'; 

变量的声明方式

  • 声明一个变量,并赋值
var a = 10; 
  • 同时声明多个变量并赋值,多个变量之间用逗号隔开
 var a = 10, b = 20, c = 30, d = 40; 
  • 同时声明多个变量,并分开赋值
var sum,num,str,start; sum=10; num=20; str=30; start=40; 

元素属性操作

原有属性:也就是元素本身自带的属性

<img src="路径">  <a href=''></a> 

非原有属性:是我们通过外部的方式给重新起名,并且重新赋值

<div abvc="123"></div> 
  • 使用点.的方式操作属性 只能拿原有属性
    • 获取属性 元素.属性名
    • 设置属性 元素.属性名 = ‘新的属性值’
// 获取属性 // 元素.属性名   var box = document.getElementById('box'); alert(box.id); alert(box.class); // undefined   alert(box.title);  // 设置属性 // 元素.属性名='新属性值' box.id = 'box1'; alert(box.id); 

注意:class是一个保留字,和其他的属性操作方式不一样,必须使用className

// // 获取元素 // var box = document.getElementById('box'); // 获取属性 // alert(box.className);  // 需求:点击按钮,给div元素添加类名'active'  // 1、谁发生事件  button  获取这个按钮   // 2、发生什么事件  onclick  点击事件   // 3、干什么事  把active这个类,添加给div这个元素   var btn = document.getElementById('btn'); var box = document.getElementById('box'); btn.onclick = function(){     // 设置类名     // box.className = 'active';     box.className = '';  } 

使用中括号的方式操作属性

// 获取元素 var aDiv = document.getElementById('box');  // 把属性名赋值给一个变量  就不可以使用点的方式了,需要使用中括号[] var d = 'id'; // alert(aDiv[d]); alert(aDiv['id']);  // return返回值的时候,会用到这个 

样式 通过js操作的样式,全部属于行内样式

操作样式

元素.className

 box.className = 'active'; 

元素.style.样式名 = ‘样式值’

aDiv.style.width = '100px'; aDiv.style.height = '100px'; aDiv.style.background = 'blue';  // 注意:在js中,不承认 - ; 把横线删除掉,第二个单词开始,首字母大写 aDiv.style.backgroundColor = 'blue'; 

cssText

语法:元素.style.cssText = '样式名:样式值;..............'

覆盖的问题,当使用多个的时候,后面的会覆盖前面的

// 语法:元素.style.cssText = '样式名:样式值;..............' // 获取元素 var aDiv = document.getElementById('box');  aDiv.style.cssText = 'width: 100px; height: 100px; border:2px solid blue';  // 解决方式:使用原来的样式 + 新的样式 aDiv.style.cssText = aDiv.style.cssText + 'background:red';  // 不兼容ie 6 7 8 aDiv.style.cssText +='background:red';   // 解决兼容:在样式的前面,引号的里面加 分号 ; aDiv.style.cssText +=';background:red';  

测试语句

alert()他是js自带的弹窗,带有一个确定按钮,具有阻塞(如果我不点击确定,后面的代码不会执行)作用,只是用来测试使用 不能用于实际开发

alert(1,2)     // 在控制台打印,可以一次性打印多个     console.log('我是在控制台打印的测试语句',1);      // 对话框     // 有一个输入内容的input框,有一个确定和取消按钮     var a =  prompt('请输入内容');     console.log(a) 

获取标签内容

单标签是没有内容,input标签除外 双标签也是有内容的

单标签input

获取内容:元素.value

设置内容:元素.value = '新内容'

// 获取元素 var pt = document.getElementById('pt'); // 获取内容  元素.value console.log(pt.value); // 设置内容   元素.value = '新内容' pt.value = '我是改变后的内容'; 

双标签内容

获取内容:元素.innerHTML / 元素.innerText

设置内容:元素.innerHTML = ‘新内容' / 元素.innerText = ‘新内容'

// 获取元素 var box = document.getElementById('box');  // 获取内容  元素.innerHTML / 元素.inerText  console.log(box.innerHTML); console.log(box.innerText)  // 设置内容 元素.innerHTML = '新内容'/ 元素.inerText  = '新内容'  box.innerHTML = '我是改变后的新内容1233' box.innerText= '我是改变后的新内容1233888888' 

区别:

​ innerHTML可以识别标签

​ innerText 不可以识别标签

box.innerHTML = '<h2>我是改变后的新内容1233</h2>' box.innerText= '<h2>我是改变后的新内容1233</h2>' 

案例- 留言板

<div id="box"></div> <input type="text" name="" id="pt"><button id="btn">按钮</button> <script> // 需求:在输入框内输入内容,点击按钮,把内容发送到上面的内容区域  // 1、是发生事件  button  获取这个元素  // 2、发生什么事件   onclick 单击事件   // 3、干什么事   //     1、获取input的内容  元素.value //     2、给div设置内容  元素.innerHTML = '新内容'(元素.value)  // 获取元素   var btn = document.getElementById('btn'); var pt = document.getElementById('pt'); var box = document.getElementById('box'); // 添加事件 btn.onclick = function () {     var ptrValue = pt.value;     box.innerHTML += ptrValue + '<br />';     pt.value = ''; } </script> 

js day01 变量, 引入, 属性操作, 样式操作