script学习

position:
fiexd --永远固定在窗口的某个位置
relative --单独无意义与absolute一起用
absolute --第一次定位,可以在指定位置,当滚轮滑动时,不能在固定位置
overflow: auto; 加滚轮


javascript

1.for(var item in [11,22,33]){
console.log(item);//打印遍历索引
}
var list=[11,22,33];
for(var item in list){
console.log(list[item]);//打印调用列表数值
}

2.for(var i=0;i<list.length;i++){
console.log(i);//打印遍历索引
}
for(var i=0;i<list.length;i++){
console.log(list[i]);}//打印调用列表数值

3.while(条件){}

4.if(){}
else if(){}
else{}
== 值相等
=== 类型和值都要相等

switch(name){
case '1':
age = 123;
break;
case '2':
age = 345;
break;
case '3':
age = 456;
break;

}
5.普通函数
function funcname(arg){
return arg+1;
}

匿名函数:
function func
setInterval("func()","5000");
setInterval(function(){
console.log(123);},5000);

自执行函数:

普通函数需要调用才能执行
两个括号(函数体)(函数的参数)

(function (arg){
console.log(arg);
})(1)

6.序列化操作
li = [1,2,3,4,5,6,7,8,9]//列表list
s = JSON.stringify(li);//把对象(如列表) 转换成 字符串
输出结果s="[1,2,3,4,5,6,7,8,9]"
newLi = JSON.parse(s);//把字符串 转换成 对象(如列表)
输出结果 newLi=[1, 2, 3, 4, 5, 6, 7, 8, 9]

7.转义

客户端(cookie) --》 服务器
将数据经过转义后,保存在cookie中

url = "http://www.sogou.com/web?query=理解"
encodeURI(url);//url中的转义字符,
结果"http://www.sogou.com/web?query=%E7%90%86%E8%A7%A3"

decodeURI("http://www.sogou.com/web?query=%E7%90%86%E8%A7%A3");//url中未转义的字符
结果"http://www.sogou.com/web?query=理解"

encodeURIComponent(url);//url组件中未转义的字符
结果"http%3A%2F%2Fwww.sogou.com%2Fweb%3Fquery%3D%E7%90%86%E8%A7%A3"

decodeURIComponent("http%3A%2F%2Fwww.sogou.com%2Fweb%3Fquery%3D%E7%90%86%E8%A7%A3");
结果"http://www.sogou.com/web?query=理解"

escape //对字符串转义
escape("理解");
结果"%u7406%u89E3"
unescape //对字符串解码
unescape("%u7406%u89E3")
结果 理解

11.ever
python
var = evel("1+1")
evel(表达式)
exec(执行代码)

javascript
Date类
var d = new Date()
d.getxxx 获取
d.setxxx 设置

13.作用域
其他语言:以代码块作为作用域

public void Func(){
if(1==1){
string name = 'java';
}
console.wruteline(name);
} // Func() C#直接报错,因为name只在if这个大括号内有用


python中以函数为作用域 L E G B
def func():
if 1==1:
name = 'aaa'
print(name)

func()#可运行


def func():
if 1==1:
name = 'aaa'

func()#报错
print(name)

javascript
1.中以函数为作用域

function Func(){
if(1==1){
var name = 'java';
}
console.wruteline(name);
}

Func()

2.函数的作用域在函数未被调用之前,就已经创建


3.函数的作用域存在作用域链,并且也是在调用之前被创建
xo = "aaa";
function func(){
var xo = "bbb";
function inner(){
var xo = 'tony';
console.log(xo);
}
inner();
}
func();先输出tony,若注释掉tony,则输出bbb,若注释掉bbb则输出aaa,依此往上找变量

-------------------------------------
var xo = 'alex';
function func(){
var xo = 'eric';
function inner(){
console.log(xo);
}
return inner;
}
var ret = func()

-------------------------------------
ret();//输出结果 eric

var xo = 'alex';
function func(){
var xo = 'eric';
function inner(){
console.log(xo);
}
var xo = 'tony';
return inner;
}
var ret = func()

ret();//输出结果 tony

4.函数内局部变量提前申明
function func(){
console.log(xxoo);

}
func();//报错

function func(){
console.log(xxoo);
var xxoo = 'alex';
}
func();//输出undefined

14.javascript面向对象


function foo(){
var xo = 'alex';
}
foo();

function Foo(n){
this.name = 'n';
}
var obj = new Foo('we');
console.log(obj.name);

结果为we
a、this代指对象(python self)
b、创建对象时,new函数()

function Foo(n){
this.name = 'n';
this.sayName = function(){
console.log(this.name);
}//obj1和obj2调用sayName时this.name被调用2次
}
var obj1 = new Foo('we');
obj1.name;
obj1.sayName();

var obj2 = new Foo('we');
obj2.name;
obj2.sayName();


原型
function Foo(){
this.name = n;
}
Foo.prototype = {
'sayName':function(){
console.log(this.name);
}
}

var obj1 = new Foo('we');
obj1.name;
obj1.sayName();

var obj2 = new Foo('we');
obj2.name;
obj2.sayName();



Dom
查找
直接查找
var obj = document.getElementById("")
间接查找
文件内容操作
innerText 仅文本
inneHTML 全部内容
value
获取input系列的value值
获取select的value值(selectIndex)
获取textarea value标签中的值


样式操作:
className
classList
classList.add
classList.remove


obj.style.color="red";
属性操作
attributes
getAttributes
renmoveAttribute

创建标签,并添加到HTML中
a.字符串形式添加

b.对象的方式添加
document.createElement('input');

JavaScript提交表单
document.getElementById('f1').submit();

其他
console.log()
alert
var v confirm('');//确定为True,取消为false

location.href
location.href = ""//重定向,跳转
location.reload() //页面刷新
location.href = location.href <==> location.reload();


定时器
var obj = setInterval(function(){},"5000");
clearInterval(obj);

var o2 = setTimeout(function(){},"5000");
clearTimeout(o2);

//词法分析,函数执行前的一些操作
/*active object活动对象====> AO
1、形式参数
2、局部变量
3、函数申明表达式

1、形式参数
AO.age = undefined
AO.age = 3;
2、局部变量
AO.age = undefined
3、函数申明表达式(优先级最高)
AO.age = function()
*/
function a(age) {
console.log(age);//function age(){}
var age = 27;
console.log(age);//27
function age() {}
console.log(age);//27
}
a(3);















posted @ 2018-12-04 19:08  平平无奇小辣鸡  阅读(150)  评论(0)    收藏  举报