从零开始的Java再学习-DAY11

CSS3

1.圆角边框

1.border-radius:参数(1个参数为四个角都适用,2个参数第1个为左上和右下,第2个反之,4个参数从左上顺时针赋值,参数为100px变成圆);

2.盒子阴影

1.box-shadow:长,宽,透明度,颜色;

div[id]{
    background-color: #e07a54;
    color: white;
    text-align: center;
    margin: 0;
    border-radius: 30px;
    box-shadow:20px 5px 30px #f3f313;
}

3.浮动

1.实现行内元素排列的方式,主要用float,display也可以

1.float:

2.display:

3.清除方式clear:both(两侧不可浮动,即让目标另起一段浮动,也可单设置左或右);

4.父类边框塌陷问题解决之overflow:hidden,溢出规定大小增加滚动条。需要添加到父类中,第二种解决(常用)为#父类id:after{content‘ ";display:block;clear:both;}在父类添加一个伪类;

4.定位

1.分为相对和绝对;

2.相对定位是默认定位,也叫静态定位,position:relative,相对于原来位置作比较, top/bottom/left/right:偏移参数。

3.绝对定位position:absolute,没有父级元素定位的情况基于浏览器定位,存在父级元素会相对于父级元素范围内偏移。因为绝对定位不在标准文档流中,所以原位置不会被保留;

4.固定定位position:fixed;

5.z-index

1.类似于图层的原理,等级0为最底层,必定被覆盖;

2.opacity:参数,用于调透明度;

div{
    background-color: #1fe092;
    color: white;
    text-align: center;
    margin: 0;
    border-radius: 10px;
}
table{
    font:normal normal 20px "黑体";
    display: block;
    background-color: #67e5e5;
    width: 215px;
    height: 75px;
    position: relative;
    left: 680px;
    opacity:40%;
}

JavaScript

1.概述

1.脚本语言,面向对象编程,ECMAScript可以理解为js的一个标准,开发基本用的es6版本,但浏览器停留在es5版本,这点在真实开发中需要注意;

2.基本使用

1.js可以写在html里,通过<script>双标签,但一般和css一样通过外部引用js文件使用,同样通过script标签引用,填入src=“路径”即可,效果为弹窗显示文本;

3.基本语法

1.变量的定义:var+变量名=变量值,var会根据变量值类型自动切换到对应变量类型,在es6版本建议局部变量用let;

2.输出方法:alert(值或变量名);

3.if和Java一样;

4.浏览器控制台使用:console.log(变量),类似Java的sout(),也可在js中使用,浏览器的控制台多用于调试;

5.严格区分大小写;

4.数据类型

1.number:不区分整数和小数,提示NaN为Not a number,浮点数进行运算时,除不尽的数会作为无限数(infinity),所以也要和Java一样避免浮点数比较;

2.字符串,布尔值,逻辑运算符和Java一样;

3.比较运算符中的==只判断值是否一样,类型不一样也可以,如1==“1”,所以js一般用===代表Java的==

4.null:空,undefined:未定义;

5.数组:JS数组可存放各种类型的对象,用中括号表示,因为var的原因;

6.对象:JS的对象不用new,用大括号写入属性,如var a{name=“aaa”,age=18},取值时直接对象.属性;

7.字符串"use strict"为严格检查模式,可像idea那样出现报错,防止JS随意性产生不必要的问题,需写在script标签的第一行;

8.es6前规定全大写变量为常量,es6引入常量关键字:const;

5.字符串详细

1.着重号(波浪键那里)包裹的字符串可以引用其他局部变量,如let msg=着重号hello,${name(其他变量)}着重号,而且里面的内容还支持多行编写;

2.字符串长度:变量名.length;

3.字符串具有不可变性;

4.变量名.substring[),中括号为包含,小括号不包含,截取字符串功能;

6.数组详细

1.js的数组长度可通过赋值改变,变长后续用空补满,变小丢失后面元素;

2.数组.indexof(查询元素):通过查询元素获取下标索引;

3.数组.slice(下标范围):通过下标范围截取数组,返回一个新数组;

4.数组尾部添加弹出元素:push(),pop()。头部为unshift(),shift();

5.sort()为排序,类型不一致报错;

7.对象详细

1.可动态删减属性,通过delete 对象.属性即可,添加属性直接对象.新属性=值即可;

2.判断属性值是否存在对象中:属性值 in 对象,存在返回true,反之;

8.流程控制

1.if,while,for和Java一样;

2.iterator迭代:for(var 变量名 of 遍历对象){}类似于Java的增强型for,但js的这一方法不会遍历出手动添加的值,需要把of换成in才可以;

9.Map和Set集合

1.map和set存在es6版本;

2.map创建:var map=new Map([键,值],[键,值]);,添加:变量名.set(key,value),删除:变量名.delete(key),获取值为get,使用同上;

3.set创建和map一样,删除方法一样,添加为add(value),是否存在某元素has(查询元素);

10.函数

1.绝对值函数定义:function 名(){},调用直接函数名();

2.js可以传任意个参数到函数里,0个也行;

3.es6新特性rest:function a(a,b,…rest){},rest只能写在最后,用…标识,作用为获取除了已定义参数外的所有参数;

4.arguments相比rest在于它包含所有参数,若想通过多余参数进行附加操作需要先排除已有的参数;

11.变量作用域

1.在函数体中声明的变量不能在体外使用,若要实现需要闭包;

2.两个函数在体内共用相同的变量名不会冲突;

3.内部函数可以访问外部函数的成员,但外部不能访问内部;

4.JS中函数查找重名变量从自身函数开始查找,有则用,所以有就近原则的特点;

5.若var x=“x”+y;,y没声明,但js在执行引擎时会自动声明y,但若y后续进行赋值是不会成功;

6.js实际上只有一个全局作用域,任何变量(包括函数)没有在函数作用域找到就会往外查找,如果全局作用域也没有就会报错:RefrenceError;

7.规范:由于我们的全局变量会默认绑定到window上,不同的js文件使用了都默认绑定window,那出现相同的全局变量就会冲突,因此对于自己的代码会进行自定义一个唯一全局变量来存放,从而减低冲突,jQuery就是如此规范;

12.方法

1.方法就是把函数放在对象里面,对象包含属性和方法;

2.Date()可获取各种时间相关的,需要注意getMonth()获取的月份是0-11月,getTime()为获取时间戳,全球统一的值,通过new Data(时间戳)可获取现在的时间;

13.JSON

1.一种轻量级的数据交换格式,它具有简洁和清晰的层次结构,易于读写和机器解析或生成,有效提升网络传输效率;

2.js中一切皆为对象,任何js支持的类型都可用JSON表示;

3.JSON格式:对象用大括号,数组用中括号,所有键值对用key:value;

4.JSON.parse(对象),解析JSON对象,stringify为生成JSON对象;

14.继承

1.原型继承:当某个对象想调用某个类(对象)的内部方法时,可以通过_proto_来继承调用的类,如a中有run()这个方法,b没有,b想调用run可以b._proto_=a

2.class继承:es6引入的关键字,通过class创建一个类:class a{/*构造器*/ constructor(name){this.name=name;}hello(){alert("hello")}},b调用a直接var b=new a("b")b.hello()。而类的继承直接class c extends a{在父类构造器添加属性或在构造器外添加方法即可},本质也是查看原型;

3.原型链:因为js所有类也是继承object类,而object就是造成原型链的原因,object的原型是它自己,所以原型链是一个闭合的圈;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值