javascript
eval:
在python中:
val = eval(表达式) /有返回值
exel(执行代码) / 无返回值
在javascript中:
eval的作用为上述二者的结合
时间:
Date类:
var d = new Date()
获取时间:
d.getxxx()
设置时间:
d.Satxxx()
作用域:
==========================1.以函数作为作用域==========================
在其他语言中:以代码块为作用域({})
示例:
public void Func(){
if(1==1){
string name = "JAVA";
}
console.writeline(name)
}
Func() //执行报错
在python中:以函数作为作用域
示例1:
def Func():
if 1==1:
name = "python"
print(name)
Func()
//成功
示例2:
def Func():
if 1==1:
name = "python"
print(name)
Func()
print(name)
//报错
在javascript中:以函数作为作用域
function Func(){
if(1==1){
name = "javascript";
}
console.log(name)
}
Func()
======================2.函数的作用域在函数未被调用之前已经创建======================
function Func(){
if(1==1){
name = "javascript";
}
console.log(name)
}
//作用域已经创建
======================3.函数的作用域存在作用域链,并且在未被调用之前已经创建======================
示例1:
xo = "LL";
function Func(){
var xo = "QQ";
function inner(){
var xo = "ww";
console.log(xo);
}
}
//函数嵌套,形成作用域链.逐层向外找
示例2:
xo = "LL";
function Func(){
var xo = "QQ";
function inner(){
console.log(xo);
}
return inner;
}
var ret = Func();
ret()
输出 :"QQ".//xo = 'LL'//Func() xo = 'QQ'//ret() xo = 'QQ';
示例3:
xo = "LL";
function Func(){
var xo = "QQ";
function inner(){
console.log(xo);
}
var xo = 'QWER';
return inner;
}
var ret = Func();
ret()
输出:QWER// 全局 xo = 'LL'//Func() xo = 'QQ' >> xo = 'QWER'//
ret() = inner() 没有xo值,逐层向上寻找 -->> xo = 'QWER';
==========================4.函数内部局部变量提前声明==========================
function Func(){
console.log(xxoo);
}
Func();
//报错 没有xxoo变量
function Func(){
console.log(xxoo);
var xxoo = "qwer";
}
Func();
//undefined
javascript 面向对象及原型;
面向对象:
function Foo(n){
this.name = n;
this.sayname = function(){
console.log(this.name);
}
}
vat obj1 = new Foo('we');
obj1.name
obj1.sayname()
原型:
function Foo(n){
this.name = n;
}
Foo.prototype ={
'sayname': function(){
console.log(this.name);
}
}
vat obj1 = new Foo('we');
obj1.sayname()