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);

浙公网安备 33010602011771号