【JavaScript】对象、内置对象(Math、Date、Array、String)

1 对象概述

在JavaScript中,对象是一种数据类型,它是由属性和方法组成的一个集合。

属性是指事物的特征,使用“对象.属性名”访问。

方法是指事物的行为,使用“对象.方法名()”进行访问。

手动赋值属性或方法来添加成员。

var p1 = {
  color: '黑色',
  weight: '188g',
  screenSize: '6.5',
  call: function(num) { console.log('打电话给' + num);},
  sendMessage: function(num, message) {},
  playVideo: function() { console.log('播放视频'); },
  playMusic: function() { console.log('播放音乐'); }
}

//访问p1的属性和方法
console.log(p1.color);
console.log(p1['weight']);
console.log(p1.screenSize);
p1.call('123');		
p1.sendMessage('123', 'hello');
p1.playVideo();
p1.playMusic();

对象的定义:

  • 利用字面量创建对象
var 对象名 = {}
  • 用new Object创建对象
var obj = new Object();	// 创建了一个空对象
obj.name = '小明';		// 创建对象后,为对象添加成员
obj.age = 18;
obj.sex = '男';
obj.sayHello = function() {
  console.log('Hello');
};
  • 利用构造函数创建对象
var 对象名 = new 构造函数名()

"构造函数"可以有参数,也可以没有参数;如果没有参数小括号可以省略。

this:利用当前构造函数所创建的那个对象
eg:
function Student(){
    this.name = '李四'
    this.sex = '男'
    this.age = 25
    this.show = function(){
        console.log('姓名:'+this.name)
        console.log('性别:'+this.sex)
        console.log('年龄:'+this.age)
    }
}

var s1 = new Student()
s1.show()

遍历对象的属性和方法:使用for…in循环

for(var 变量名 in 对象名){
    循环语句
}

in运算符:判断某个成员(属性、方法)在这个对象中是否存在。存在返回true;不存在返回false


2 JavaScript的内置对象

2.1 Math对象

不需要实例化

  • Math.PI:算术常量PI
  • Math.abs(x):返回x的绝对值
  • Math.max(args...):返回所有参数中的最大值
  • Math.min(args...):返回所有参数中的最小值
  • Math.pow(x,y):返回x的y次方
  • Math.sqrt(x):返回x的算术平方根
  • Math.random():返回0.0-1.0之间的随机数
  • Math.round(x):返回最接近x的整数,四舍五入
  • Math.floor(x):返回小于等于x,并且与x最接近的整数
  • Math.ceil(x):返回大于等于x,并且与x最接近的整数

2.2 Date对象

需要使用new Date( )创建一个对象

Date( )是一个构造函数,可以给该构造函数传参数生成一个日期对象

  • getYear( ):获取指定Date对象date的年份字段减去1900
  • getFullYear( ):获取指定Date对象date的年份字段
  • getMonth( ):获取Date对象的月份(返回值在0(1月)-11(12月)之间)
  • getDate( ):获取Date对象的日期(一月中的某一天(1-31之间的整数))
  • getDay( ):获取一周中的某一天(星期几)
  • getHours( ):获取Date对象的小时数(0-23之间的整数)
  • getMinutes( ):获取Date对象的分钟数(0-59)
  • getSeconds( ):获取Date对象的秒钟数
  • getTime( ):获取Date对象距离1970年1月1日午夜(GMT时间)之间的毫秒数
  • toLocaleDateString( ):将Date对象转化为本地的日期格式
  • toLocaleString( ):将Date对象转化为本地的日期时间格式
时间戳:获取从1970年1月1日0时0分0秒开始一直到当前UTC时间所经过的毫秒数。

// 方式1:通过日期对象的valueof()或getTime()方法
var date1 = new Date();
console.log(date1.valueOf()); // 示例结果:1571196996188
console.log(date1.getTime()); // 示例结果:1571196996188

// 方式2:使用“+”运算符转换为数值型
var date2 = +new Date();
console.log(date2);	// 示例结果:1571196996190

// 方式3:使用HTML5新增的Date.now()方法
console.log(Date.now());	// 示例结果:1571196996190

倒计时小例子:

function countDown(time) {
  var nowTime = +new Date();
  var inputTime = +new Date(time);
  var times = (inputTime - nowTime) / 1000;
  var d = parseInt(times / 60 / 60 / 24); d = d < 10 ? '0' + d : d;
  var h = parseInt(times / 60 / 60 % 24); h = h < 10 ? '0' + h : h;
  var m = parseInt(times / 60 % 60);m = m < 10 ? '0' + m : m;
  var s = parseInt(times % 60);  s = s < 10 ? '0' + s : s;
  return d + '天' + h + '时' + m + '分' + s + '秒';
}
// 示例结果:05天23时06分10秒
console.log(countDown('2019-10-22 10:56:57')); 


2.3 字符串对象

必须使用new String( )来创建

  • charAt(index)方法:返回指定索引位置的字符;
  • s.charAt(i)-'0':两个字符相减实际上是ASCII码对应的数相减;
  • charCodeAt(index):返回index位置的字符的ASCII码 字符串名[index]:获取指定位置处的字符
  • contant(s1,s2,s3....):连接多个字符串
  • split('分隔符'):将字符串按给定的分隔符,转换成字符串数组
  • substr(start,length):从start开始提取length个字符构成一个新的字符串
  • substring(from,to):提取从from到to(不含to)之间的字符构成一个新串
  • toLowerCase( ):将串中大写字符转换为小写,返回一个新串
  • toUpperCase( ):将串中小写字符转换为大写,返回一个新串
  • replace(str1,str2):使用str2替换字符串中的str1,返回替换结果,只会替换第一个str1
  • split() 方法用于把一个字符串分割成字符串数组。

值类型:简单的数据类型(字符串、数值型、布尔型、undefined、null)

引用类型:复杂数据类型(对象、数组) 变量当中保存引用的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在TouchDesigner中,你可以使用CHOP(通道操作)节点中的LFO(低频振荡器)和Maths(数学)节点来控制图像。以下是一个简单的例子: 1. 创建一个Movie File In节点,将其命名为“movie_in”。 2. 将Movie File In节点的输出连接到一个常规的TOP(图像处理)节点。 3. 创建一个LFO CHOP节点,并将其命名为“lfo”。 4. 在LFO CHOP节点的参数页面上,设置“Frequency”参数为适当的值,以控制LFO的速度。 5. 创建一个Maths CHOP节点,并将其命名为“maths”。 6. 在Maths CHOP节点的参数页面上,选择“Add”操作,并将其输入连接到“lfo”节点的输出。 7. 在Maths CHOP节点的参数页面上,设置“Value 1”参数为1,以控制LFO的振幅。 8. 创建一个Constant CHOP节点,并将其命名为“constant”。 9. 在Constant CHOP节点的参数页面上,设置“Value”参数为0.5,以控制图像的亮度。 10. 创建一个Maths CHOP节点,并将其命名为“maths2”。 11. 在Maths CHOP节点的参数页面上,选择“Multiply”操作,并将其输入连接到“constant”节点的输出。 12. 将“maths”节点的输出连接到“maths2”节点的第一个输入。 13. 将TOP节点的亮度参数连接到“maths2”节点的输出。 现在,你可以控制图像的亮度,以及LFO的速度和振幅,来创建一个动态的图像效果。你可以通过调整LFO节点和Maths节点的参数来实现不同的效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南栀~zmt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值