js导读,js引入,js选择器,事件,操作页面文档,计算后样式,数据类型
js导读
- '''
- js属于编写运行在浏览器上的脚本语言(相当于具有逻辑的代码)
- 一个完整的JavaScript实现应该由以下三部分组成:1)ECMAScript:核心 2)DOM:文档对象模型 3)BOM:浏览器对象模型
- js采用ECMAScript语法
- 操作BOM:浏览器对象模型 eg:浏览器上下滑动,浏览器历史记录
- 操作DOM:文档对象模型
- '''
js引入
- <style>
- #box, #wrap, #temp, #res {
- width: 200px;
- height: 200px;
- background-color: red;
- margin-top: 10px;
- }
- </style>
- <!--1.行间式: js代码块也就是脚本书写在事件的全局属性中-->
- <!--this就是激活该代码块(脚本)的页面标签(页面元素对象)-->
- <div id="box" onclick="this.style.borderRadius = '10px'"></div>
- <div id="wrap" onclick="this.style.backgroundColor = 'orange'"></div>
- <!--2.内联式-->
- <div id="temp"></div>
- <!--操作写在下面-->
- <script>
- // id为标签的唯一标识, 使用可以识别到html中的具体标签
- temp.onclick = function () { // 完成某一项功能
- this.style.width = "400px"; // this => temp
- }
- </script>
- <!--3.外联式-->
- <div id="res"></div>
- <script src="js/1.js">
- // js/1.js
- res.onclick = function () { // res点击会触发一个功能
- this.style.height = "100px"; // this => res
- this.style.backgroundColor = "yellow";
- this.style.borderRadius = "50%";
- <script></script> 写在 </body>与</html>之间
js选择器
- <body>
- <div id="box"></div>
- <div id="box"></div>
- </body>
- <script>
- box.onclick = function () {
- this.style.borderRadius = "50%";
- }
- </script>
- //上述结果一个都匹配不到
- //注意:虽然id可以重复,但是js中却无法唯一标识识别,为了可以唯一标识识别,我们要确保标签id名的唯一性
- // document对象 文档对象:整个页面中的所有对象,通过document可以获取文档中的所有对象
//getElement系列选择器- <body>
- <div id="box"></div>
- <div id="box"></div>
- </body>
- <script>
- document.getElementById('box').onclick = function () {
- this.style.borderRadius = "50%";
- }
- </script>
- // 上述操作能获得到第一个id="box", 但是第二个永远取不到, 所以id还是不能重复
- js中如何定义变量名?
关键字 变量名 = 变量值- var num = 10;
- 如何查看变量名?
- 不能用print(num),这个操作是调用浏览器使用打印机
- ①弹出框查看 alert(num)
- ②浏览器控制台查看 console.log(num);
- ③将内容书写在页面中 document.write(num);
- ④断点调试
- ②④使用的比较多
- <div id='box'></div>
- <div id='box'></div>
- <div class='box1'></div>
- <div class='box1'></div>
- <div class="box2">1</div>
- <div class="box2">2</div>
- <script>
- // getElement系列
- //①通过id查找
- // box 获取的是第一个box
- var box = document.getElementById('box');
- console.log(box) #结果:<div id='box'></div>
- box.onclick = function () {
- this.style.backgroundColor = "red";
- }
- //②通过类名查找=>类名可以重复,获取结果是数组(列表)
- // [] | [.box1] | [.box1, ..., .box1]
- var boxs = document.getElementsByClassName('box1');
- console.log(boxs) #结果:[div.box1, div.box1]
- boxs[0].onclick = function () {
- this.style.backgroundColor = "pink";
- }
- boxs[1].onclick = function () {
- this.style.backgroundColor = "black";
- }
- //③通过标签名查找=>标签名=>获取结果数组(列表)
- // [] | [div] | [div, ..., div]
- var divs = document.getElementsByTagName('div');
- console.log(divs) #结果:[div#box, div#box, div.box1, div.box1, div.box2, div.box2, box: div#box]
- divs[1].onclick = function () {
- this.style.borderRadius = "50%";
- }
- // 总结: 参数采用的是id名或类名或标签名,不需要带符号(#|.)
- </script>
- <script>
- // 只能获取检索到的第一个满足条件的标签(元素对象)
- var box2 = document.querySelector('body .box2');
- console.log(box2)
- box1.onclick = function () {
- this.style.borderRadius = "50%";
- }
- // 获取的是所有满足条件的标签
- var boxes = document.querySelectorAll('body .box2');
- console.log(boxes)
- boxes[0].onclick = function () {
- this.style.backgroundColor = "pink";
- }
- boxes[1].onclick = function () {
- this.style.backgroundColor = "black";
- }
- // 总结: 参数采用的就是css选择器语法
- </script>
事件
- var box = document.querySelector('.box');
- // 元素对象.事件名 = 函数
- box.onclick = function() {
- // 具体功能代码块; this代表就是激活该事件的元素对象
- this.style.color = 'red'; // 将box的字体颜色修改为红色
- }
操作页面文档
- // 1. 通过选择器获取页面元素对象(指定的标签)
- // 2. 为该对象绑定事件
- // 3. 通过事件中的功能操作元素对象
- // i) 修改内容: innerText | innerHTML
- // ii) 修改样式
- // iii) 修改类名
- var box = document.querySelector('.box'); // 获取页面元素
- box.onclick = function () { // 绑定事件
- // 修改内容
- // this.innerText = "innerText"; // 不能解析html标签
- // this.innerHTML = "<i>innerHTML</i>"; // 可以解析html标签
- // 修改样式 => 修改的是行间式 => 优先级高于所有内联外联样式(没有设置!important前提下)
- // this.style.color = "green";
- // this.style.fontSize = "12px";
- // 修改类名
- // this.className = "box1"; // 直接修改类名, 会丢失之前类名下的属性们
- // 在原类名基础上添加类型
- this.className += " box1"; // 多类名之间用空格隔开, 所有做字符串拼接时一定需要添加空格
- // 清除类名
- this.className = ""; // 将类名等于空字符串就是置空类名
- }
计算后样式
- //什么是计算后样式?内联式和外联式书写的样式都是计算后样式
- // 如何获取提取设置好的样式属性值
- var box = document.querySelector('.box');
- var ftSize = box.style.fontSize; // 这种方式操作的永远是行间式
- console.log(">>>>>>>>>>>>>>>>" + ftSize);
- // 内联或外联设置(getComputedStyle也能获取到行间式的设置)
- .box {
- font-size: 100px;
- }
- // 如何获取计算后样式
- // getComputedStyle(元素对象, 伪类).属性名
- var box = document.querySelector('.box');
- var ftSize = getComputedStyle(box, null).fontSize;
- console.log(ftSize); // 100px
数据类型
- // 1.定义变量
- var num = 10;
- var s = "hello js";
- console.log(num, "<<>>", s);
- console.log("%d %s", num, s);
- // 将字符串赋值给页面元素对象,直接在页面上打印
- box.innerText = s;
- //命名规范:
- // 由字母,数字,_,$组成,不能以数字开头(可以包含中文字符)
- // 区分大小写
- // 不能出现关键字及保留字
- // var var = 30; // 出错
值类型
- // Number: 数字类型
- var a1 = 10;
- var a2 = 3.14
- // String: 字符串
- var s1 = "123";
- var s2 = '456';
- // undefined: 未定义
- var u1;
- var u2 = undefined;
- // Boolean: 布尔
- var b1 = true;
- var b2 = false;
- // typeof() 来查看数据类型
- eg:console.log(a1,typeof(a1));
- 注意:js不直接操作内存
引用类型
- // Object:对象类型=>可以当做字典来使用
- var obj = {};
- // Function:函数类型
- var func = function(){}
- // Null =>空对象
- var n = null;
常用对象类型
- // 数组
- a = new Array(1, 2, 3, 4, 5);
- a = [5, 4, 3, 2, 1]; // 语法糖
- // 时间对象
- var a = new Date();//当前时间
- // a = new Date("2019-3-1 12:00:00"); // 设定的时间
- console.log(a.getFullYear());//年
- console.log(a.getDay()); // 周几
- console.log(a.getMonth()); // 月份(从0开始)
- console.log(a.getDate()); // 几号
- // 浏览器cookie 需要前后台交互,存储临时状态 如:过期时间,七天免登陆
- //正则
- re = /\d{2}/g;
- res = 'a1b23c456'.match(re);
- console.log(res);
- 结果:(2) ["23", "45"]
- re =/[abc]/gi; //a或b或c
- res = 'aBc'.match(re);
- console.log(res);
- 结果:(3) ["a", "B", "c"]
- // 总结:
- // 1.正则 /正则语法/
- // 2.参数g 全文匹配
- // 3.参数i 不区分大小写
数组与对象(字典)的使用
- var arr = [3,5,2,1,4];
- console.log(arr[1]);
- var dic = {'name':'henry','age':18,'little-name':'zz'};
- console.log(dic['name']);
- console.log(dic['age']);
- console.log(dic.name);
- console.log(dic.age);
- console.log(dic['little-name']);
- // dic中所有的key都是string类型, value可以为任意类型
- // dic中key可以通过中括号及 .语法访问值,当key不满足js命名规范时,只能使用中括号语法
js导读,js引入,js选择器,事件,操作页面文档,计算后样式,数据类型的更多相关文章
- js事件,操作页面文档,计算后样式,数据类型
js:运行在浏览器的脚本语言 js引入 1.行间式:存在于行间事件中 <div id="div" onclick="this.style.color="r ...
- js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)
js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...
- js闭包 选择器 面向对象 事件 操作页面
闭包js函数的嵌套定义,定义在内部的函数 就称之为闭包为什么使用闭包: 1.一个函数要使用另一个函数的局部变量 2.闭包会持久化包裹自身的函数的局部变量 3.解决循环绑定 function outer ...
- python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)
11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...
- Java文件操作系列[3]——使用jacob操作word文档
Java对word文档的操作需要通过第三方组件实现,例如jacob.iText.POI和java2word等.jacob组件的功能最强大,可以操作word,Excel等格式的文件.该组件调用的的是操作 ...
- javascript DOM操作HTML文档
文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...
- 文档对象模型操作xml文档
简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...
- 操作xml文档的常用方式
1.操作XML文档的两种常用方式: 1)使用XmlReader类和XmlWriter类操作 XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点 ...
- 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox
原文 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox 很久没自己写写心得日志与大家分享了,一方面是自己有点忙,一方面是自己有点懒,没有及时总结.因为实践是经验的来源,总结 ...
随机推荐
- django基础(一)
一.创建django程序 1.终端:django-admin startproject sitename 2.IDE创建Django程序时,本质上都是自动执行上述命令 常用命令: python man ...
- openCV学习——一、图像读取、显示、输出
openCV学习——一.图像读取.显示.输出 一.Mat imread(const string& filename,int flags=1),用于读取图片 1.参数介绍 filename ...
- mysql数据库表设计小数类型
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效 ...
- HDU 6298
Problem Description Given an integer n, Chiaki would like to find three positive integers x, y and z ...
- Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)
http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Conv ...
- python二 总结--函数-- 装饰器
装饰器是什么? 有什么用? 为什么要用? 真的有用吗? 1.装饰器: 装饰器: 定义:本质是函数,(装饰其他函数)就是为其他函数添加附加功能. 原则:1.不能修改被装饰的函数的源代码 ...
- 孤立森林(Isolation Forest)
前言随着机器学习近年来的流行,尤其是深度学习的火热.机器学习算法在很多领域的应用越来越普遍.最近,我在一家广告公司做广告点击反作弊算法研究工作.想到了异常检测算法,并且上网调研发现有一个算法非常火爆, ...
- VPS采用的几种常见技术(OVZ、Xen、KVM)介绍与对比
很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ.Xen.KVM.Xen和HVM与PV. 在+XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用 ...
- bzoj4448 情报传递
题目链接 离线+树上主席树,主席树维护时间标记 注意查询时如果c<0要把c赋为0: #include<iostream> #include<cstdio> #includ ...
- python里面的xlrd模块
♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 今天就先来说一下xlrd模块: 一.安装xlrd模块 ♦ 到python官网下载 ...