javascript和python对象_python学习笔记(82) JS函数和对象

document.body.contentEditable=true

局部变量会在函数运行以后删除,全局变量会在页面关闭以后删除

作用域:

var city = 'BeiJing';

function Bar() {

console.log(city);

}

function f() {

var city = 'ShangHai';

return Bar

}

var ret = f()

ret()

打印结果是BeiJing

闭包:

var city = 'BeiJing';

function f3() {

var city = 'ShangHai';

function inner() {

console.log(city);

}

return inner;

}

var ret = f3();

ret();

打印结果是ShangHai

关键点在于调用函数的时候找函数定义过程

词法分析:

1.分析  //Active Object   AO

1.先看参数

2.再看局部变量

3.再看函数定义  // 优先级比参数高

2.执行

var age = 18

function foo() {

console.log(age);

var age = 22;  //创建AO.age undefined,执行的时候赋值22

console.log(age);

function age() {  //赋值AO.age -->func

console.log('呵呵');

}

console.log(age);

}

foo()

结果 :

ƒ age() {

console.log('呵呵');

}

22

22

对象:

var a1 = [1,2,3];

var a2 = new Array(1,2,3);

var n = 1;  // number格式

var n2 = new Number(1)  //Object格式

内置对象:

数据类型:

Number:

parseInt("111")

parseFloat("11.11")

String

Boolean

组合对象:

Array类型

Date类型:

var d1 = new Date();

console.log(d1);  // Object格式

console.log(d1.toLocalString())  // String格式

var d2 = new Date("2018/12/12  20:03")  // 参数格式灵活

console.log(d1.toLocalString())

方法:

.getDate()

.getDay()  // 获取星期

.getYear()

.getFullYear()

.getTime()  // 时间戳

JSON对象:

var s = '{"name":"ALEX","age":18}';

var ret = JSON.parse(s);  // 字符串转成JS对象,注意格式,字符串必须双引号

var s2 = JSON.stringify(ret);  // JS对象转成字符串

Math对象:

Math.abs(-1)

abs()

exp()

floor()  // 地板舍入

round()  // 四舍五入

log()

max()

min()

pow()  // pow(10,2)

random()  // 0~1

sin()

sqrt()  // 平方根

tan(x)

高级对象:

Object自定义对象, Error对象, Function对象, Global全局对象

自定义对象:

var person = {name: '小强', age:18};

//JS对象中,键(属性)不用加引号,并且自动把单引号变成双引号(Json)

var p1 = new Object();

p1.name = "alex";

p1.age = 18;

//遍历自定义对象:

for (var i in p1){

console.log(i);

console.log(p1[i]);

}

RegExp对象(正则):

var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$");

var ret1 = reg1.test("alexSB");

/(^[a-zA-Z][a-zA-Z0-9_]{5,11}$)/.test("xiaoqiang");  // 简化写法

注意事项:

1.正则表达式中间一定不能有空格

2.不传值相当于传了一个undefined,并当做字符串使用

3.正则的两种模式

var ss = "Alexdashabi";

var s3 = ss.replace("a", "哈哈");  //不改变默认字符串,而是生成一个新的,只能替换一次

var s4 = ss.replace(/a/gi, "哈哈");  // g表示全局(替换所有) i 表示忽略大小写

4.当正则表达式使用了g全局模式,并且去检测字符串的时候,会有一个lastIndex记住上一次匹配成功的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值