前端攻城狮应该熟记的知识点(永久更新)

1.去掉列的固有样式:
ul{padding:0;margin:0;}
li{list-style:none}

2.去掉a标签的固有样式
a{text-decoration:none; display:block;line-height:30px; text-align:center; color:blue;
background:red}

3.如何把希望的元素移除你的视线:
A:dispaly:none;(对象显示block)显示无
B:visibility:hidden;隐藏(还占文档流)
C:改变width/height
D:改变透明度
E:定位:left/top
F:拿白色的div盖住
G:Margin负值

4.函数执行
A.直接调用 A();
B.事件调用:1元素.事件=函数名 xx.onclick=A; //后面没有括号
2匿名函数 window.onload = function(){ xxxx; }(function小写)
如果函数多次被调用 就用函数,如果只掉一次就用匿名函数。

5.css 中 id选择器为# class选择器为 .

6.属性的读操作: 获取元素的属性值 元素.属性

7.属性的写操作: 替换、修改 元素.属性=新的值

8.Html里面的内容 p.innerHTML;(读) p.innerHTML=新的值;(写)

9.Js中不允许出现’-’: font-size p.style.fontSize=

10.Js中的关键字var function 保留字class

11.Js中如何给元素动态的添加class ? 元素.className=’xx’;

12.所有的相对路径都别拿来做判断!!! Img src href(不可读,可以写)

13.颜色值不能拿来做判断。兼容性问题

14.InnerHTML的值不能拿来做判断

15.Input的type值得变换?ie 6 7 8 会报错(解决方案 变化的时候隐藏起来)

16.Div的float的值变为left、right
Div.style.styleFloat=’left’; //IE
Div.style.cssFloat=’left’; //非IE
.left{float:left} js动态改变class

17.[]中括号的使用 . 后面的值无法改变 [‘’] 替换 []里面的值可以改变

18.数组的最后一位添加元素 arr.push(‘hello’);

19.滤镜 filter:alpha(opacity:40); //IE
opacity: 0.4; //非IE

20.document.getElementByTagName(‘ul’)[0]; 获取页面上的第一个ul。

21.getElementById 与getElementByTagName的区别:Id前面只能接document,Tag可以跟其他元素。Tag找到的一堆,Id是一个。Tag是动态的找,js后添加也可以找到。

22.如果在for(var i=1;i<=6;i++ )里面包了一个函数,函数里面用到i的值永远为6。

23.for 循环生成元素的坐标为位置 for(var i=0;i<aDiv.length;i++){
aDiv[i].style.left = i*60+’px’; }
24.cssText属性操作 Odiv.style.width=’200px’;
Odiv.style.cssText=’200px’; (替换)

25.this操作小结:只要fn();就是window,xx.onclick=fn;和其他情况看this属于谁
a.function fn1(){
this
}
fn1(); //this=>window
b. oDiv.onclick = fn1; //this=>div
c.oDiv.onclick = function(){
fn1(); //this=>window
}
d.oDiv.onclick = function(){
this //this=>div
}
e.<div onclick=”this” ></div> //this=>div
f. <div onclick=”fn1()” ></div> //this=>window

26This为参数的情况
a.

function fn1(obj){
obj=>window
}
fn1(this);


b.

oDiv.onclick=function(){
fn1(this);
}
function fn1(obj);  obj =>oDiv

27.自定义属性的应用
a.元素添加索引
for(var i=0;i<os.length;i++ ){
os[i].index = i;
os[i].onclick=function(){
alert(this.index);
}
}
b.元素身上添加num数字,或者开关onOff=ture
28.for(var i...){ //如果for里面套了函数,并且函数里面在套for的时候,for里面变量名可以重复。
funvtion(){
for(var i..)
}
}
29. var a= null;的typeof n 为object,但是a.abc=123; 这样加自定义属性是不允许的。

30. var a='1'; Number(a); 将a转化成数字类型。
var a=''; Number(a); //0
var a='true' Number(a); //1
var a=[]; Number(a); //0
var a=['']; Number(a); //0
var a=[123]; Number(a); //123
var a=['123'];Number(a); //123
var a=null; Number(a); //0

function , [1,2,3] ,{abc:123}, {} ,var a(未定义) NaN

31.

var b='100px234'
alert(parseInt(b)); //100

var h='+123'
alert(parseInt(h)); //123

var c='12.34'
alert(parseInt(c)); //12

var d='12.3.4'
alert(parseFloat(d)); //12.3

true function NaN


32. 判断是否为小树?

var num='23.34'

if(parseInt(num)==parseFloat(num)){
整数;
}else{
小树;
}

33. '10'>9 //true
'10'>'9' //false
'2'==2 //true
'2'===2 //false
'...'- 0 //NaN

34. NaN typeof //number
NaN 布尔值 是 false
NaN 自己和自己不相等

35. 根据Number转完的结果进行判断(应用判断是否是数字)
isNaN(250); //false
isNaN('我爱你') //true
isNaN('250') //false

36. 如何判断是否为数字 if(typeof(a)==='number'&&a===a){
alert(‘a是一个数字!’);
}

37. alert(a); //undefined
var a =1;
alert(a); //1

alert(a); //报错
a=1;

38.js预解析 域 的时候 变量(在解析的时候是undefined)和函数重名了 只留下 函数(整块解析)

alert(a); //function a(){alert(4);}
var a=1;
alert(a); //1
function a(){alert(2);}
alert(a); //1
var a=3;
alert(a); //3
function a(){alert(4);}
alert(a); //3

39.域(空间、范围) a.预解析 b.逐行读代码
<script> var a=1 </script> 全局 域是分块的 从上到下的
<script> alert(a);</script>

40.函数的内部也是 域 。局部的。

var a=1;
function fn1(){
alert(a); //undefined
var a=2;
}
fn1();
alert(a); //1

分析: 1)预解析 a undefine fn1= function fn1(){
alert(a); //undefined
var a=2;
}

2)逐行解读代码

表达式 遇见a=1,把外边的a=1;

函数调用
1)预解析 var a undefin
2)逐行读代码 //undifined
把函数内的a=2

alert(1);

41.去掉函数内的var:
var a=1;
function fn1(){
alert(a); //1
a=2;
}
fn1();
alert(a); //2
分析:作用域链(子作用域找不到的话会到父级作用域去找)

42.在函数里面放一个传参(函数内部预解析的时候多了一个局部var a)
var a=1;
function fn1(a){
alert(a); //undefined
a=2;
}
fn1();
alert(a); //1

43.函数传值
var a=1;
function fn1(a){
alert(a); //1
a=2;
}
fn1(a);
alert(a); //1

44.如何获取fn内部的var定义的值:

function fn1(){
var a = '宝贝';
}
fn1();

方法一:
var str='';
function fn1(){
var a = '宝贝';
str = a;
}
fn1();
alert(str);

方法二:
function fn1(){
var a = '宝贝';
fn3(a);
}
fn1();
function fn3(c){
alert(c);
}

45.for 问题

var btns = document.getElementByTagName('button'); //3个按钮
for(var i=0;i<btns.length;i++){

btns[i].onclick = function(){
alert(i); //3
}

}

var btns = document.getElementByTagName('button'); //3个按钮
for(var i=0;i<btns.length;i++){

btns[i].onclick = function(){
alert(i); //undefined
for(var i=0;i<btns.length;i++){

}
}
}

var btns = document.getElementByTagName('button'); //3个按钮
for(var i=0;i<btns.length;i++){

btns[i].onclick = function(){
alert(i); //3
for(i=0;i<btns.length;i++){

}
}
}

oracle Form 开发
原文地址:https://www.cnblogs.com/watson945/p/5135949.html