JavaScript笔记(本文中将JavaScript简写为JS)

JS对大小写敏感

JS代码块的作用域都是全局的

JS的数组只能使用数字作为下标

JS对浮点型数据的精确度很难确定

JS在定义数组元素以及对象,在最后不能添加逗号

JS 中,变量可以在使用后声明,也就是变量可以先使用再声明,但不适用于已初始化的变量
JS严格模式:

严格模式通过在脚本或函数的头部添加 use strict; 表达式来声明。

严格模式的限制:

1.不允许删除变量、对象以及函数

2.不允许使用转义字符

3.不允许使用八进制

4.变量名不能使用 "eval"、"arguments"字符串
JS常用关键字:


JS let关键词:

作用:使块级作用域内声明的变量与块外独立(包括for循环中下标变量)

javascript 复制代码
var x = 10;
// 这里输出 x 为 10
{ 
    let x = 2;
    // 这里输出 x 为 2
}
// 这里输出 x 为 10

JS const关键词:

使用 const 定义的对象或者数组,其实是可变的。

javascript 复制代码
// 创建常量对象
const car = {type:"Fiat", model:"500", color:"white"};
 
// 修改属性:
car.color = "red";
 
// 添加属性
car.owner = "Johnson";
javascript 复制代码
// 创建常量数组
const cars = ["Saab", "Volvo", "BMW"];
 
// 修改元素
cars[0] = "Toyota";
 
// 添加元素
cars.push("Audi");

JS表单验证:

html 复制代码
<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
名字: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
javascript 复制代码
function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") {
        alert("需要输入名字。");
        return false;
    }
}

JS中未进行声明的变量将自动被定义为全局变量

在代码中可在字符组(个人自创)中用反斜杠连接上下行字符串

javascript 复制代码
document.write("你好 \
世界!");

JS更改HTML:

javascript 复制代码
x=document.getElementById("demo");  //查找元素
x.innerHTML="Hello JavaScript";    //向x输入新内容
x.style.color="#ff0000";   //改变x的样式

JS输出方式:

javascript 复制代码
alert()        //警告
console.log()        //输出到浏览器控制台
ducument.write()        //写入文档写入

JS数据类型与数值:

JS注释形式与C/C++相同

JS数据类型:数字、布尔值、空值(null)、字符/字符串、集合、对象(本质是字典)

同时,JS可以在字符串中使用引号,只要不匹配包围字符串的引号即可

JS中声明新变量时,可以使用关键词 "new" 来声明其类型:

javascript 复制代码
var carname=new String;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

JS替换文本:

javascript 复制代码
const name = 'Runoob';
const age = 30;
const message = `My name is ${name} and I'm ${age} years old.`;

JS for-in循环:

javascript 复制代码
var person={fname:"Bill",lname:"Gates",age:56}; 
 
for (x in person)  // x 为属性名
{
    txt=txt + person[x];
}

JS错误处理:

javascript 复制代码
function myFunction() {
  var message, x;
  message = document.getElementById("p01");
  message.innerHTML = "";
  x = document.getElementById("demo").value;
  try { 
    if(x == "") throw "值是空的";
    if(isNaN(x)) throw "值不是一个数字";
    x = Number(x);
    if(x > 10) throw "太大";
    if(x < 5) throw "太小";
  }
  catch(err) {
    message.innerHTML = "错误: " + err + ".";
  }
  finally {
    document.getElementById("demo").value = "";
  }
}

错误详细信息的获取:error.message
JS对象属性的两种访问形式 :

javascript 复制代码
person.lastName;
person["lastName"];

JSON:


HTML常见事件:


Date函数:

科学计数法:123e-3 = 0.123

img标签中的属性decoding="async"时,表示通过异步解码图像,加快内容显示

Date() 获取当前时间

JS字符串亦自带length()、split()、indexof()、lastIndexOf()

特殊转义字符:\r---回车 \b---退格 \f---换页

'===':绝对相等

JS'+'可用于连接字符串

JS中可以对指定代码块进行标记,让break和continue跳过指定代码

JS return语句不用加分号

相关推荐
青红光硫化黑11 分钟前
React基础之React.memo
前端·javascript·react.js
GDAL1 小时前
better-sqlite3之exec方法
javascript·sqlite
柒十三.2 小时前
江科大51单片机笔记【10】蜂鸣器(上)
笔记·嵌入式硬件·51单片机
匹马夕阳2 小时前
基于Canvas和和原生JS实现俄罗斯方块小游戏
javascript·canva可画
m0_616188492 小时前
Vue3 中 Computed 用法
前端·javascript·vue.js
六个点2 小时前
图片懒加载与预加载的实现
前端·javascript·面试
weixin_460783872 小时前
Flutter解决TabBar顶部页面切换导致页面重载问题
android·javascript·flutter
逍遥客.2 小时前
uniapp对接打印机和电子秤
javascript·vue.js·uni-app
小沙盒2 小时前
godot在_process()函数实现非阻塞延时触发逻辑
javascript·游戏引擎·godot
Moment2 小时前
前端 社招 面筋分享:前端两年都问些啥 ❓️❓️❓️
前端·javascript·面试