JS初学笔记 2021-3

最近项目离需要开发Chrome插件,需要接触JavaScript,大致学习了一下JavaScript。

JS学习

为了达到最佳的可读性,程序员们常常喜欢把代码行控制在 80 个字符以内。

也可以在字符串中换行,通过一个反斜杠即可

如果 JavaScript 语句太长,对其进行折行的最佳位置是某个运算符

关键词描述
break终止 switch 或循环。
continue跳出循环并在顶端开始。
debugger停止执行 JavaScript,并调用调试函数(如果可用)。
do … while执行语句块,并在条件为真时重复代码块。
for标记需被执行的语句块,只要条件为真。
function声明函数。
if … else标记需被执行的语句块,根据某个条件。
return退出函数。
switch标记需被执行的语句块,根据不同的情况。
try … catch对语句块实现错误处理。
var声明变量。

JavaScript 不会把 VARVar 译作关键词 var

JavaScript 中不能使用连字符。它是为减法预留的。

JavaScript 使用 Unicode 字符集。

Unicode 覆盖世界上几乎所有的字符、标点和符号。

当数值和字符串相加时,JavaScript 将把数值视作字符串。

JavaScript 拥有动态类型。这意味着相同变量可用作不同类型

JavaScript 只有一种数值类型。写数值时用不用小数点均可

布尔值只有两个值:true 或 false。

var cars = ["Porsche", "Volvo", "BMW"];

数组索引基于零,这意味着第一个项目是 [0],第二个项目是 [1],以此类推。

JavaScript 对象用花括号来书写。

对象属性是 name:value 对,由逗号分隔。

实例

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

使用 JavaScript 的 typeof 来确定 JavaScript 变量的类型

任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。

在 JavaScript 中,null 是 “nothing”。它被看做不存在的事物。

不幸的是,在 JavaScript 中,null 的数据类型是对象。

您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。

您可以通过设置值为 null 清空对象:

实例

var person = null;           // 值是 null,但是类型仍然是对象

Undefined 与 Null 的区别

Undefined 与 null 的值相等,但类型不相等:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

typeof 运算符把数组返回为 “object”,因为在 JavaScript 中数组即对象。

在 JavaScript 函数中声明的变量,会成为函数的局部变量

局部变量只能在函数内访问。

对象方法: 对象也可以有方法。 方法是在对象上执行的动作。 方法以函数定义被存储在属性中。

在函数定义中,this 引用该函数的“拥有者”。this 指的是“拥有” fullName 函数的 person 对象

常见的 HTML 事件

下面是一些常见的 HTML 事件:

事件描述
onchangeHTML 元素已被改变
onclick用户点击了 HTML 元素
onmouseover用户把鼠标移动到 HTML 元素上
onmouseout用户把鼠标移开 HTML 元素
onkeydown用户按下键盘按键
onload浏览器已经完成页面加载

\ 转义字符: 反斜杠转义字符把特殊字符转换为字符串字符

avaScript 中有效的转义序列:

代码结果
\b退格键
\f换页
\n新行
\r回车
\t水平制表符
\v垂直制表符

=== 运算符需要类型和值同时相等。

请注意 (x== y) 与 (x===y) 的区别。

JavaScript 对象无法进行对比,比较两个 JavaScript 将始终返回 false。

获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):

方法描述
getDate()以数值返回天(1-31)
getDay()以数值获取周名(0-6)
getFullYear()获取四位的年(yyyy)
getHours()获取小时(0-23)
getMilliseconds()获取毫秒(0-999)
getMinutes()获取分(0-59)
getMonth()获取月(0-11)
getSeconds()获取秒(0-59)
getTime()获取时间(从 1970 年 1 月 1 日至今)
var d = new Date();
document.getElementById("demo").innerHTML = d.getTime();

在 JavaScript 中,第一个月(1 月)是月号 0,因此 12 月返回月号 11。

设置方法用于设置日期的某个部分。下面是最常用的方法(按照字母顺序排序):

方法描述
setDate()以数值(1-31)设置日
setFullYear()设置年(可选月和日)
setHours()设置小时(0-23)
setMilliseconds()设置毫秒(0-999)
setMinutes()设置分(0-59)
setMonth()设置月(0-11)
setSeconds()设置秒(0-59)
setTime()设置时间(从 1970 年 1 月 1 日至今的毫秒数)

JavaScript 随机:

Math.random() 返回 0(包括) 至 1(不包括) 之间的随机数

Math.random() 与 Math.floor() 一起使用用于返回随机整数。

Math.floor(Math.random() * 100) + 1;	// 返回 1 至 100 之间的数
function getRndInteger(min, max) {
    return Math.floor(Math.random() * (max - min) ) + min;
}

这个 JavaScript 函数始终返回介于 min 和 max(都包括)之间的随机数

假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用。

for (i = 0; i < cars.length; i++) { 
    text += cars[i] + "<br>";
 }

可以在语句 1 中初始化多个值(由逗号分隔):

for (i = 0, len = cars.length, text = ""; i < len; i++) { 
    text += cars[i] + "<br>";
}

而且您还可以省略语句 1(比如在循环开始前设置好值):

var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) { 
    text += cars[i] + "<br>";
}

如果省略语句 2,那么必须在循环中提供一个 break。否则循环永远不会结束。

语句 3 也是可选的。

语句 3 可做任何事情,比如负递增(i–),正递增(i = i + 15),或者任何其他事情。

语句 3 也可被省略(比如当您在循环内递增值时):

var i = 0;
var len = cars.length;
for (; i < len; ) { 
    text += cars[i] + "<br>";
      i++;
}

JavaScript for/in 语句遍历对象的属性:

var person = {fname:"Bill", lname:"Gates", age:62}; 

var text = "";
var x;
for (x in person) {
    text += person[x];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值