JavaScricp(总回顾)
知识点导图

1:基础知识
(1)JavaScript是脚本语言,弱类型,执行非常非常快
(2)它与java有什么关系?没有任何关系
(3)js能做什么事情?1控制浏览器 BOM ,2控制元素 DOM
(4)js不能做什么事情?不能做文件读取,创建及删除,不能直接访问数据库
(5)node.js - 开发平台,通过这个平台可以开发常规的web服务端,是一块非常轻量级的运行环境
Jquery.js - 前端框架
(6)JS是面向过程的语言,JS有面向对象,但是不是纯粹的面向对象语言
2:常用对话框
(1)alert(""):警告对话框,作用是弹出一个警告对话框
(2)confirm(""):确定对话框,弹出一个带确定和取消按钮的对话框——确定返回true,取消返回false
(3)primpt("要显示的文字"):可以允许用户输入内容的对话框
3:数据类型
(1)基本数据类型:字符串、小数、整数、时间日期、布尔型等
(2)变量只有一种类型:
通用类型var,可以随便存储其它类型的值,可以直接使用,不用定义。但习惯上定义。
定义变量: var a; //所有变量定义都用var定义,var是通用的可变类型。
var s = "3.14";
(3)类型转换
分为自动转换和强制转换,一般用强制转换。
其他类型转换为整数:parseInt();
其他类型转换为小数:parseFloat();
判断数字是否合法:isNaN()
4:运算符(与C#一样)
数学运算符:+ - * / % ++ --;
关系运算符:== != >= <= > <;
逻辑运算符:&& || !;
其他运算符:+= -= *= /= %= ?:;
5:语句
一般分为顺序、分支和循环语句。
(1)分支语句: if{}else{} if{}else{}
(2)循环for语句:for(初始条件:循环条件;状态改变){循环体}
(3)问题类型:穷举,迭代
(4)关键词:break、continue
(5)如果输出某一参数的值:输出的值是“+a+”和“+b
6:数组
数组的定义:new Array(); //它的长度是动态变化的,里面可以放任意类型的元素。
数组元素的赋值:a[0]=123; a[1]="hello"; //元素中的索引从0开始。
数组的取值:a[i];
数组属性:a.length; //数组元素的个数,长度。没有count()
方法:a.sort(); //数组排序,按照每一个元素的第一个字符进行排序。
a.reverse(); //翻转数组。
7:函数
函数的四要素:名称、输入、返回值、加工。
定义函数:function add(形参){函数体} //函数名为add,输入为参数的形式,返回值可以是var类型,也可以return一个返回值。
匿名函数:function(){函数体}
函数必须经过调用才能执行。函数的调用:add(实参)
BOM(主要记忆)
window.open("打开的地址","打开的位置")
window.opener:打开此页面的上一个页面对象
window.close():关闭当前页面
window.scrollTo(x,y)滚动页面至哪里,y代表纵向滚动;
window.history.back();页面进行后退;
location地址栏:window.location.href="http://www.baidu.com";修改页面地址,会跳转页面(超链接)
DOM(主要记忆)
(1)找到元素
按照ID来找 var aa = document.getElementById("id");找到的肯定是一个对象
按照Class来找 var aa = document.getElementsByClassName("class");找到的肯定是一个数组
按照Name来找 var aa = document.getElementsByName("name");找到的肯定是一个数组
按照元素名来找 var aa = document.getElementsByTagName("div");找到的肯定是一个数组
(2)操作元素内容
innerHtml - 会将元素标记代码渲染后的效果显示出来(超链接形式显示):会将所有的内容和代码一并取出来
innerText - 不会让内容进行任何渲染,写的什么直接就输出什么(把超链接代码显示出来了):取值时它只会把能看到的文字信息取出来,不会取到HTML代码
value - 12个表单元素御用,别的元素没有权利使用它们并不是value就能解决全部表单元素的内容操作,部分元素还需要上面两种的配合。如:option,radio
(3)操作元素属性
1、添加属性
oTxt1.setAttribute("readonly", "readonly");
2、修改属性
oTxt1.setAttribute("Class", "ttt");
( 添加、修改)如果没有此属性会添加进去,相反,会修改此属性的值
3、查询属性
this.getAttribute("Class");
获取属性的值
4、删除属性
this.removeAttribute("Class");
移除一个属性
(4)操作元素样式(所有的样式操作都是在元素代码内部进行添加及更改,优先级最高)
1、 添加样式
this.style.width="100px";
this.style.boxShadow = "0px 0px 15px black";
2、修改样式
this.style.width="100px";
this.style.boxShadow = "0px 0px 15px black";
3、查询当前样式
this.style.xxx - 只能获取写在元素代码内部的样式值
获取即使样式:
this.offsetWidth
this.offsetHeight
this.offsetTop
this.offsetLeft
4、删除样式
(5)操作元素
1、查找兄弟级的上一个和下一个
this.nextSibling
this.previousSibling
2、查找父级元素
this.parentNode
3、查找全部子级元素
this.childNodes
4、创建新元素
var oDiv = document.createElement("div");
document.getElementById("boss").appendChild(oDiv);
---------------------------------------------------
var oDiv = "<div class='div1'></div>";
document.getElementById("boss").innerHTML += oDiv;
----------------------------------------------------
5、移除元素
this.remove();
JavaScricp(总回顾)的更多相关文章
- 老男孩python第六期
01 python s6 day7 上节回顾02 python s6 day7 SNMP使用03 python s6 day7 大型监控架构讲解04 python s6 day7 Redis使用05 ...
- 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)
课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...
- 史上最全Redis面试题及答案。
花了大量时间整理了这套Redis面试题 首发50题,绝无仅有,从入门到精通 从基础,高级知识点,再到集群,运维,方案- 弄明白了这些题可以说可以成为面霸了 面试官都得折服,Redis学得怎么样,都来检 ...
- 「MoreThanJava」当大学选择了计算机之后应该知道的
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」计算机发展史—从织布机到IBM
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」计算机系统概述
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」一文了解二进制和CPU工作原理
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」机器指令到汇编再到高级编程语言
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」Java发展史及起航新世界
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
随机推荐
- mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregated column
今天在Ubuntu下的部署项目,发现一些好好的列表页面发生 :Expression # of SELECT list is not in GROUP BY clause and contains no ...
- xgboost原理
出处http://blog.csdn.net/a819825294 1.序 距离上一次编辑将近10个月,幸得爱可可老师(微博)推荐,访问量陡增.最近毕业论文与xgboost相关,于是重新写一下这篇文章 ...
- ES6 export
一.默认导出(default export)// 1.一个模块只能有一个默认导出, 对于默认导出, 导入的名称可以和导出的名称不一致, 这对于导出匿名函数或类非常有用. <!---- page. ...
- layui---表单验证
使用layui,使用它的表单验证也是比不可少的,下面就来总结下: <!-- 不用form 用div也可以 --> <form class="layui-form" ...
- 19、AJAX
1.Ajax的概念 Ajax是一种在无需重新加载整个网页(刷新页面)的情况下,能够更新部分网页的技术. Ajax的全称是AsynchronousJavaScript and XML,即异步JavaSc ...
- Java9之HashMap与ConcurrentHashMap
HashMap在Java8之后就不再用link data bins了,而是转为用Treeify的bins,和之前相比,最大的不同就是利用了红黑树,所以其由 数组+链表+红黑树 组成.: * This ...
- 【C++/类与对象总结】
1.以上是对本章知识的大致梳理,下面通过我自己在编程中遇到的问题再次总结. 私有成员必须通过get()函数访问吗?能不能直接调用? 私有成员必须通过公共函数接口去访问,比如设置set()修改成员内容, ...
- Laravel-2
● php发邮件 参考:https://blog.csdn.net/sinat_37390744/article/details/54667794 ● ajax提交表单时防止csrf攻击 1. 在网页 ...
- Qt自定义界面
https://blog.csdn.net/zhangxiaoyu_sy/article/details/78925221
- Spring 学习教程(一):浅谈对Spring IOC以及DI的理解
一.个人对IoC(控制反转)和DI(依赖注入)的理解我们平时在开发java web程序的时候,每个对象在需要使用它的合作对象时,自己都要将它要合作对象创建出来(比如 new 对象),这个合作对象是由自 ...