CSS是Cascading Style Sheets的简称,中文称为层叠样式表。
外联式:
导入式:
内嵌式:
行内式:
if($(“#box”).length > 0){alert(true);}else{alert(false)}
·
jQuery对象都是有返回值所有if($(“#box”))是检测不出来
例:console.log(a); // undefined
console.log(aa); // (Cannot access 'XX' before initialization)
console.log(aaa); // (Cannot access 'XX' before initialization)
var a = 11;
let aa = 11;
const aaa = 111;
if(true) {
let a = 1;
}
console.log(a); // a is not defined
let a = 11;
console.log(a); // 11
let a = 11;
console.log(a) // Identifier 'a' has already been declared
Offset(偏移)家族
Scroll(卷轴)家族
document.body.scrollTop
document.documentElement.scrollTop
window.pageYOffset
window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop||0;
client(客户)家族
三大家族区别
5.1正则表达式基础知识
5.2符号
星号(*) : 星号代表匹配它前面一个字符任意遍(0或任意次)
加号(+): 加号是一个与星号(*)类似的通配符,它也是数量词,表示匹配前面的字符至少一次或多次 它与星号的差别就在这里,星号可以匹配0次,加号则必须一次以上。
问号(?): 问号也是一个数量词,它代表匹配前一个字符0或1次。
中括号[]: 中括号用来表示一个字符集合,
如果这个集合有很多元素.如26个字母,数字等,这时可以用连字符(hyphen)来表示一个范围,
//如:[a-z]表示小写字母的集合,
// [a-zA-Z]表示大小写字母的集合。
脱字符^ (caret).
这种写法表示,匹配任何不在该集合中的字符,与上面的用法刚好相反,和中括号配合就是脱字符,不然就是匹配输入字符串的开始位置
5.3定位符:
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置。
\b 匹配一个单词边界,也就是指单词和空格间的位置。//例如, ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。
\B和\b相反,匹配非单词边界。‘er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’。
5.4特殊字符:
\w – (小写w) 表示字母或数字,等价于 [a-zA-Z0-9]
\W – (大写W)非字母且非数字,与\w相反 等价于 ‘[^A-Za-z0-9_]’
\s – (小写s)匹配一个空格字符,包括:空格,换行,回车,tab,等价于[ \n\r\t\f]
\S – (大写S)匹配非空格字符,\s的相反 等价于 [^ \f\n\r\t\v]。
\d – 表示10进制数字,等价于 [0-9]
\D – 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
大括号:{}
大括号的作用是指定重复前面一个字符多少遍:
{N} 重复N遍
{n,m} 重复 n~m 遍
{n,} 至少重复n遍
{,m} 至多重复m遍
Console.log(typeof 11); // number
Console.log(typeof ‘str’); // string
Console.log(typeof function(){}); // function
Console.log(typeof []); // object
Console.log(typeof {}); // object
Console.log(typeof null); // object
Console.log(typeof undefined); // undefined
缺点:
console.log(toString.call(11)) // number
console.log(toString.call(‘str’)) // string
console.log(toString.call(function(){}) // function
console.log(toString.call([])) // array
console.log(toString.call({})) // object
console.log(toString.call(null)) // null
console.log(toString.call(undefined)) // undefined
Console.log(cc instanceof Array); // true
Console.log(dd instanceof Object); // true
Console.log(ee instanceof Function); // true
缺点::判断Number和String都是false
console.log(aa.constructor === Number); // aa=11,ture
console.log(bb.constructor === Array); // bb=[],true
console.log(cc.constructor === Object); // cc={},true
console.log(dd.constructor === Function); // dd=function(){},true
console.log(ee.constructor === String); // ee=’str’,true
7.1概念
1.值类型:在定义变量时没具体赋值时是不分配内存,输出的是undefined
2.值类型:当给定具体的值是才会分配内存
3.值类型:分配的是独立的内存空互不影响
4.引用类型:系统都会在内存中生成两个区域:一个存储变量(指针),一个用来存储值
5.引用类型:共用的是同一片内存区域,变量保存的是指向值的指针
6.引用类型:其实是指向同一个地址,也就是操纵的其实是同一个位置
7.引用类型:当新赋值就会开辟新的内存区域
console.log(typeof(x)); // undefined 值类型
console.log(typeof(10)); // number 值类型
console.log(typeof('abc')); // string 值类型
console.log(typeof(true)); // Boolean 值类型
console.log(typeof(function () { })); //函数 引用类型
console.log(typeof([])); //数组 引用类型
console.log(typeof ({ a: 10 })); // object 或者json 引用类型
console.log(typeof (null)); //null 引用类型
console.log(typeof (new Number(10))); //内置对象 引用类型
7.2值类型
var num1; //这个时候不进行内存分配
var num3=9;//分配内存
var num4=num3;//会不会分配
// 这里到底分配还是不分配内存??
// 答案 --分配内存 彼此拥有独立的内存空间,互不影响
console.log(num3)
console.log(num4)
num3=3333333;
num4=4444444;
console.log(num3)
console.log(num4) //当更改数据,值不一样的本质是这里分配两个空间独立存储
7.3引用类型
var arr1=[‘传智播客’,‘黑马’];//分配内存
var arr2=arr1; //问题:这里arr2会不会分配内存
console.log(arr1[0]);
console.log(arr2[0]); //一样
//修改数组1
arr2[0]=‘水浒传 西游记 三国演义 红楼梦’;
console.log(arr1[0]);
console.log(arr2[0]);//一样
// 变量只是存储了指向内容的地址,他们公用/修改的是同一片内存区域
8.1与(&&)
a&&b 如果a为真,则返回b
a&&b 如果a为假,则返回a
8.2或(||)
a||b 如果a为真,则返回a
a||b 如果a为假,则返回b
8.3短路表达式
例:if(a){return a};
短路表达式:a && return a;
10.1 Set
通过.语法是无法获取CSS里设置的值,只能获取到行内样式的值
例:{width:200px} dom.style.width; // ‘ ’(什么都没有)
其他: window.getComputedStyle(dom,null)[key];
IE: dom.currentStyle[key];
兼容性问题
10.2 Get
在设置CSS属性时不能用setAttribute(key,value)这个方法
在一些class id name data行内式的能够设置,如果设置了CSS的属性
缓动动画
leader = leader + (target - leader)/10
ps:后面的数字是根据速度修改,数字越大动画越慢
滚动条
动态滚动条: 容器高度 / 内容高度 * 容器高度
滚动比例: (内容高度 – 容器高度)/(容器高度 – 滚动条高度) * 滚动像素
动画(时间角度)
Animate = 总距离 * (用时/总用时);
xx.substr(xx.length-1)
document.body.scrollTop
document.documentElement.scrollTop
window.pageYOffset
window.innerWidth
document.documentElement.clientWidth
document.body.clientWidth
opacity: 0.6
filter:alpha(opacity = 60)
event.stopPropagation()
event.cancelBubble = true
event.target.id
event.srcElement.id
window.getSelection()
document.selection.createRange().text