javascript 学习笔记(四)

JavaScript-WebGL2学习笔记四-蒙板 stencil test(蒙板) demo的显示效果这个例子由四个源文件构成webgl.html<html> <head> <!-- Title: JavaScript-WebGL2学习笔记四-Stencil Date: 2018-3-22 Author: kagula Prologue: ... 阅读详情
 

第四讲 基于对象的JavaScript语言

         JavaScript语言是基于对象的(Object-Based)因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能。

一、对象的基础知识
1、对象的基本结构
JavaScript中的对象是由属性(properties)和方法(methods)两个基本的元素的构成的。前者是对象在实施其所需要行为的过程中,实现信息的装载单位,从而与变量相关联;后者是指对象能够按照设计者的意图而被执行,从而与特定的函数相联。
2、引用对象的途径   一个对象要真正地被使用,可采用以下几种方式获得:
引用JavaScript内部对象;
由浏览器环境中提供;
创建新对象。
对象在被引用之前必须存在,否则引用将毫无意义。从上面中我们可以看出JavaScript引用对象可通过三种方式获取。要么创建新的对象,要么利用现存的对象。
3、有关对象操作语句
1)、For...in语句
格式如下: For(对象属性名 in 已知对象名)
说明: 该语句的功能是用于对已知对象的所有属性进行操作的控制循环。它是将一个已知对象的所有属性反复置给一个变量;而不是使用计数器来实现的。 优点就是无需知道对象中属性的个数即可进行操作。
例:下列函数是显示数组中的内容:
Function showData(object)
for (var X=0; X<30;X++)
document.write(object[i]);
该函数是通过数组下标顺序值,来访问每个对象的属性,使用这种方式首先必须知道数组的下标值,否则若超出范围,则就会发生错误。而使For...in语句,则根本不需要知道对象属性的个数,见下:
Function showData(object)
for(var prop in object)
document.write(object[prop]);
使用该函数时,在循环体中,For自动将的属性取出来,直到最后为此。

2)、with语句
使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。

with object{

...}

所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。

3)、this关键词
this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。

4)、new运算符
虽然在JavaScript中对象的功能已经是非常强大的了。但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。使用New运算符可以创建一个新的对象。其创建对象使用如下格式:
Newobject=NEW Object(Parameters table);
其中Newobject创建的新对象:object是已经存在的对象; parameters table参数表;new是JavaScript中的命令语句。
如创建一个日期新对象
newData=New Data()
birthday=New Data (December 12.1998)
之后就可使NewData、birthday作为一个新的日期对象了。
4、对象属性的引用
对象属性的引用可由下列三种方式之一实现:
(1)使用点(.)运算符
university.Name=“云南省”
university.city=“昆明市”
university.Date="1999"
其中university是一个已经存在的对象,Name、City、Date是它的三个属性,并通过操作对其赋值。
(2)通过对象的下标实现引用
university[0]=“云南”
university[1]=“昆明市”
university[2]="1999"
通过数组形式的访问属性,可以使用循环操作获取其值。
function showunievsity(object)
for (var j=0;j<2; j++)
document.write(object[j])
若采用For...in则可以不知其属性的个数后就可以实现:
Function showmy(object)
for (var prop in this)
docament.write(this[prop]);
(3)通过字符串的形式实现
university["Name"]=“云南”
university["City"]=“昆明市”
university["Date"]="1999"
5、对象的方法的引用
在JavaScript中对象方法的引用是非常简单的。
ObjectName.methods()
实际上methods()=FunctionName方法实质上是一个函数。 如引用university对象中的showmy()方法,则可使用:
document.write (university.showmy())
或:document.write(university)
如引用math内部对象中cos()的方法
with(math)
document.write(cos(35));
document.write(cos(80));
若不使用with则引用时相对要复杂些:
document.write(Math.cos(35))
document.write(math.sin(80))
二、常用对象的属性和方法
在JavaScript提供了string(字符串)、math(数值计算)和Date(日期)三种对象和其它一些相关的方法。

1、常用内部对象
在JavaScript中对于对象属性与方法的引用,有两种情况:其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例;而另一种对象则在引用它的对象或方法是必须为它创建一个实例,即该对象是动态对象。
1)、串对象

string对象:内部静态性。

访问properties和methods时,可使用(.)运算符实现。

基本使用格式:objectName.prop/methods
(1)串对象的属性
该对象只有一个属性,即length。它表明了字符串中的字符个数,包括所有符号。例:
mytest="This is a JavaScript"
mystringlength=mytest.length    返回mytest字符串的长度为20。
(2)串对象的方法
string对象的方法共有19个。主要用于有关字符串在Web页面中的显示、字体大小、字体颜色、字符的搜索以及字符的大小写转换。
其主要方法如下:

锚点anchor():该方法创建如用Html文件中一样的anchor标记。使用anchor如用Html中(A Name="")一样。通过下列格式访问:string.anchor(anchorName)。

有关字符显示的控制方法
big字体显示, Italics()斜体字显示,bold()粗体字显示,blink()字符闪烁显示,small()字符用小体字显示,fixed()固定高亮字显示、fontsize(size)控制字体大小等。

字体颜色方法;fontcolor(color)

字符串大小写转换
toLowerCase()-小写转换,toUpperCase()大写转换。下列把一个给定的串分别转换成大写和小写格式: string=stringValue.toUpperCase和string=stringValue.toLowerCase。

字符搜索:indexOf[charactor,fromIndex]
从指定formIndtx位置开始搜索charactor第一次出现的位置。

返回字符串的一部分字符串:substring(start,end) 从start开始到end的字符全部返回。
2)、算术函数的math对象
 功能:提供除加、减、乘、除以外的一引些自述运算。如对数,平方根等。
 静动性:静态对象
(1)主要属性
math中提供了6个属性,它们是数学中经常用到的常数E、以10为底的自然对数LN10、以2为底的自然对数LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根为SQRT2。
(2)主要方法
 绝对值:abs()
 正弦余弦值:sin(),cos()
 反正弦反余弦 :asin(), acos()
 正切反正切:tan(),atan()
 四舍五入:round()
 平方根:sqrt()
 基于几方次的值:Pow(base,exponent)
3)、日期及时间对象
 功能:提供一个有关日期和时间的对象。
 静动性:动态性,即必须使用New运算符创建一个实例。例: MyDate=New Date()
Date对象没有提供直接访问的属性。只具有获取和设置日期和时间的方法。
日期起始值:1770年1月1日00:00:00。

(1) 获取日期的时间方法
 getYear(): 返回年数
 getMonth():返回当月号数
 getDate(): 返回当日号数
 getDay():返回星期几
 getHours():返回小时数
 getMintes(:返回分钟数
 getSeconds():返回秒数
 getTime() : 返回毫秒数

(1) 设置日期和时间:
 setYear();设置年
 setDate():设置当月号数
 setMonth():设置当月份数
 setHours():设置小时数
 setMintes():设置分钟数
 setSeconds():设置秒数
 setTime ():设置毫秒数
...
2、JavaScript中的系统函数
JavaScript中的系统函数又称内部方法。它提供了与任何对象无关的系统函数,使用这些函数不需创建任何实例,可直接用。
1) 返回字符串表达式中的值:方法名:eval(字符串表达式)
test=eval("8+9+5/2");
2) 返回字符串ASCI码:
 方法名:unEscape (string)
3) 返回字符的编码:
 方法名:escape(character)
4) 返回实数:
parseFloat(floustring);
5) 返回不同进制的数:其中radix是数的进制,numbs字符串数  
parseInt(numbestring ,rad.X)

LoRaWAN数据包分析工具 前言:LoRaWAN的射频数据包是加密的,而且有些字段是某个字节的某几位,看着不是那么直观,因此在某些情况下需要借助工具来分析数据包。 1、安装npm 这个工具是用JavaScript写的,其中用到了一些依赖库,而npm就可以一次性把这些依赖库下载下来,因此我们先要下载安装npm这个工具。 安装:sudo apt install npm 输入y,等待安装完成: 检查是否安装成功:npm -v 说明安装完成。 2、安装LoRa数据包分析工具lora-packet 安装:npm i. 阅读详情

相关推荐

2022 七校联合NewStarCTF 公开赛赛道 WEEK5|MISC

2022 七校联合NewStarCTF 公开赛赛道 WEEK5|MISC

zerorzeror的博客 3121

JavaScript引用对象的途径(转)

JavaScript引用对象的途径(转)[@more@]   一个对象要真正地被使用,可采用以下几种方式获得:   ·引用JavaScript内部对象;   ·由浏览器环境中提供;   ·创建新对象。   这就是说一个...

ciya3282的博客 821

五段式S型算法笔记

又因为有 v-v0= 0.5jt通式: 所以有 vm-v0= 0.5jtm 所以有4vm-4v0= 2jtm。算法1: v=2vm-v0-0.5*jt+2jt*tm-2jtm*tm。加加速度j 自己设置 已知,vmax自己设置已知;所以有4vm-4v0= 2jtm带入算法1。

qq_36658033的博客 681

JavaScript学习笔记(四):JS 中Math对象的用法

JS 中Math函数的用法1、Math 对象2、Math 对象内置的方法①、Math.ceil(x: number)②、Math.floor(x: number)③、Math.round(x: number)④、Math.abs(x: number)⑤、Math.min(...values: number[])⑥、Math.max(...values: number[])⑦、Math.pow(x: number, y: number)⑧、Math.sqrt(x: number)⑨、Math.PI 前言 :在

weixin_44104809的博客 553

OpenCV轮廓匹配实战:5分钟搞定Hu矩形状识别(附完整代码)

本文详细介绍了使用OpenCV进行轮廓匹配的实战技术,重点讲解了Hu矩形状识别在工业质检等领域的应用。通过完整的代码示例和参数调优技巧,帮助开发者在5分钟内实现高效的形状识别,提升工业检测的准确性和效率。

nnn11的博客 676

浪潮服务器ESXI6.7部署实战:手动集成RAID驱动避坑指南

本文详细介绍了在浪潮服务器上部署ESXI6.7时手动集成RAID驱动的完整流程和避坑指南。从驱动获取、解压技巧到封装实战,逐步解决国产服务器常见的驱动缺失问题,特别针对PM8060 RAID卡提供具体解决方案,帮助IT运维人员顺利完成ESXI部署。

weixin_33725722的博客 462

JS学习笔记(四)- JavaScript的作用域、预解析和对象

2021.1.14 文章目录JS学习笔记(四)JS作用域1.作用域概述2.变量的作用域变量作用域的分类从执行效率看全局变量与局部变量3.作用域链JS预解析JS对象对象创建对象的三种方式1.利用字面量创建对象2.利用new Object创建对象3.利用构造函数创建对象new关键字遍历对象的属性对象小结 JS学习笔记(四) JS作用域 1.作用域概述 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程.

Ludwig1957的博客 438

3D打印机之Marlin固件配置

一、Marlin固件必要配置 打开Configuration.h文件,使用VS code的搜索功能来修改下面的参数。 配置波特率 #define BAUDRATE 250000 配置串口波特率,一般不修改。上位机的波特率要和这个一致才能正常通讯。 2. 配置主板类型 第 134 行 #define MOTHERBOARD BOARD_MKS_GEN_L 找到 boards.h 这个文件打开,就可以看到支持的主板类型。3d打印机主控板类型非常多,每个板子硬件连接都可能不同,所以这个参数必须要跟你自己的板子

acktomas的博客 2万+

JavaScript学习笔记(四):JS浏览器BOM

1.Window 对象 所有浏览器都支持 window对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是 window对象的属性。全局函数是 window 对象的方法。甚至 HTML DOM 的 document 也是 window 对象的属性之一: window.document.getElementById("he

tszhanghaihui的专栏 349

FPGA设计中的扇出约束实战:从XDC到代码优化的全流程解析

本文全面解析FPGA设计中扇出约束的重要性与应用,详细介绍了从XDC约束文件设置到HDL代码优化的全流程实战技巧。通过MAX_FANOUT约束控制信号负载,结合寄存器复制和物理优化策略,有效解决高扇出导致的时序违例和布线拥塞问题,提升设计性能和可靠性。

nept的博客 797

RTC 实时时钟实验

如果在 RTC_CR 寄存器中设置了相应的允许位,则在每个TR_CLK 周期中 RTC 产生一个中断(秒中断)。void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) // 往备份区域写用户数据的函数 (这个函数的第一个参数就是寄存器的标号了,这个是通过宏定义定义的)存储在 RTC_ALR 寄存器中的可编程时间相比较,如果 RTC_CR 控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。寄存器操作完成,并同步之后,设置秒钟中断。

m0_55996456的博客 1205

JavaScript学习笔记四

异步和单线程 文章目录一、同步和异步的区别二、手写用Promise 加载一张图片三、前端使用异步的场景有哪些四、单线程和异步(knowledge point)1、异步2、同步应用场景五、callback hell 和 Promise (knowledge point)1、callback hell2、Promise 一、同步和异步的区别 answer: 异步是基于JS 单线程 异步不会阻塞代码...

weixin_40077712的博客 453

ThingsBoard PE专业版解决方案技术文档——温度&湿度

温湿度解决方案

weixin_67440240的博客 820

JavaScript学习笔记(四)

本文主要JavaScript 中函数的定义、调用、传参、作用域与返回值等核心概念,并结合逻辑中断的短路机制,提升代码复用性与执行效率。

2402_82857752的博客 808

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

javaScript 学习笔记(四)JavaScript的定时器

文章目录javaScript学习笔记(二)JavaScript的定时器JavaScript的定时器1. 间隔定时器:2. 延时定时器:3. 定时器的返回值4. 关闭定时器总结定时器 javaScript学习笔记(二)JavaScript的定时器 JavaScript的定时器 1. 间隔定时器: 按照制定周期(毫秒)去执行制定的代码 语法:setInterval(函数, 时间) 函数:每次要执行的内容; 时间:单位是毫秒。 //每隔1000毫秒执行一次 setInterval(function ()..

小张小张的博客 402

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JavaScript学习笔记(四),js中的location地址跳转,confirm确认验证、setInterval定时器的使用

1、 location 在之前进行页面跳转的时候我们只能用a标签的href属性 和form表单的action属性来进行页面的跳转, js中的location也可以改变页面的地址,实现页面跳转。 Window.location:表示当前窗口的地址栏 案例1、实现5秒钟倒计时结束后自动调转页面效果。 <script type="text/javascript"> var i = 5; ...

Java开发,人工智能,边缘计算,致力于掌握前沿技术 1437

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

《javascript基础》学习笔记 四

文章目录前言一、数组1、数组简介2、数组的基本操作3、创建数组对象4、向数组中添加元素5、获取数组中的元素6、获取数组的长度7、修改数组的长度(修改length )二、数组的添加和删除1、数组的四个基本方法如下: (数组元素的添加和删除)2、数组的常见方法如下:3、遍历数组的方法如下: 前言 学习地址:https://www.bilibili.com/video/BV1ZE411c7yM?p=52 一、数组 1、数组简介 数组(Array)是属于内置对象,我们可以在MDN网站上查询各种方法。 数组和普通对

weixin_45131334的博客 232

JavaScript学习笔记(四)

JavaScript学习笔记(三) <p><b>JS的构成:</b>ECMAScript、BOM、DOM</p> <p>ECMAScript:定义JS的基本语法。</p> <p>BOM:浏览器对象模型。</p> <p>DOM:文档——HTML。</p> <p><b>DOM和BOM的区别于联系:</b></p> <p

mingbai775533的博客 181

JavaScript-学习笔记四

JavaScript 数组 一、数组的概念 1、数组:数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。 // 普通变量一次只能存储一个值 var num = 10; // 数组一次可以存储多个值 var arr = [1,2,3,4,5]; 二、创建数组 1、JS 中创建数组的方式: 利用 new 创建数组 利用数组字面量创建数组 2、利用 new 创建数组 var 数组名 = new Array(); var arr

sinat_42285508的博客 282

JavaScript学习笔记【四】

JavaScript中的引用类型、Date类型和正则表达式RegExp   一、Date类型、     1.Date的构造函数、       var now = new Date(); //默认now为系统的当前时间、       var now = new Date(2007, 5, 3, 12, 21, 40); //创建指定日期的now、构造函数的参数分别为年、月...

alu6260的博客 116

【学习笔记】Part1·JavaScript·深度剖析-ES 新特性与 TypeScript、JS 性能优化(四、JavaScript 性能优化2)

JSBench 使用

1168

JavaScript学习笔记(四),js中的location地址跳转,confirm确认验证、setInterval定时器的使用(1)

但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。**SetTimeout的第一个参数函数只会执行一次。

2301_82243710的博客 429
上一篇: javascript 打印时去掉页眉页脚
下一篇: javascript 学习笔记(五)
TangShi2011
博客等级 码龄15年 7粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值