千峰js学习笔记

本文详述JavaScript的关键概念,包括作用域、变量生命周期、全局变量、输出方式、语法特性如字面量、变量声明、数据类型、对象、函数(包括自调用函数和闭包)以及DOM操作。深入探讨了undefined与null的区别,let和const的用法,还涵盖了正则表达式、事件处理、面向对象编程和ES6新特性,最后讨论了AJAX在前后端交互中的应用。
摘要由CSDN通过智能技术生成

javascript作用域

  • 在jacascript中,作用域为可访问变量,对象,函数的集合

  • 在函数内没有使用关键字定义变量则是全局变量

变量生命周期

  • 局部变量在函数执行完毕后销毁

  • 全局变量在页面关闭后销毁

全局变量

在html中全局变量是window对象,可以调用函数内部的局部变量

javascript输出

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。document.getElementById(" ") 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

javascript语法

字面量(固定值)

数字(Number),表达式,字符串,数组,对象,函数

javascript变量

  • 关键字var来定义

  • 变量是名称,字面量是值

  • 一条语句中声明的多个变量不可以同时赋同一个值:

var x,y,z=1;

x,y 为 undefined, z 为 1。

  • 为声明值的变量值为undefinded

  • 重新声明值不变

    var carname="Volvo";
    var carname;
    

undefined 和 null 的区别

null 和 undefined 的值相等,但类型不等:

javascript语句

对代码可进行拆行

`document.write("你好 \ `
`世界!");`

let和const

const关键字来定义常量

let关键字来定义局部变量

javascript数据类型

img

Symbol表示独一无二的值

  • javascript拥有动态类型,相同变量不同类型

    var x;               // x 为 undefined
    var x = 5;           // 现在 x 为数字
    var x = "John";      // 现在 x 为字符串
    
  • 使用typeof操作符查看数据类型

    typeof "John"                // 返回 string
    typeof 3.14                  // 返回 number
    typeof false                 // 返回 boolean
    typeof [1,2,3,4]             // 返回 object
    typeof {
         name:'John', age:34} // 返回 object
    
  • NaN 的数据类型是 number

  • 数组(Array)的数据类型是 object

  • 日期(Date)的数据类型为 object

  • null 的数据类型是 object

  • 未定义变量的数据类型为 undefined

javascript对象

var person={
   firstname:"John", lastname:"Doe", id:5566};
  • 寻址方式
    name=person.lastname;
    name=person["lastname"];
  • 对象方法创建

    methodName : function() {
         
      // 代码 
    }
    调用
    对象.methondName();
    

javascript函数

非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。

函数的默认参数

function test(a=1,b=2){
   
	return a+b;
}
test();//输出3
test(2,3);//输出5
自调用函数

函数表达式可以自己调用,表达式后面需要紧跟()

(function(){
   
	var x ="HELLO!!";
})();
闭包

闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。直观的说就是形成一个不销毁的栈环境。

var add = (function () {
   
    var counter = 0;
    return function () {
   return counter += 1;}
})();
 
add();
add();
add();
 
// 计数器为 3
//利用函数自调用,将counter初始化,返回函数方法给add
//调用add函数,counter执行+1

javascript字符串

你可以使用索引位置来访问字符串中的每个字符:

var character = carname[7];

for/in循环

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

var person={
   fname:"Bill",lname:"Gates",age:56}; 
 
for (x in person)  // x 为属性名
{
   
...
}

JavaScript 标签

如需标记 JavaScript 语句,请在语句之前加上冒号:

label:{
   
statements
}

continue 语句(带有或不带标签引用)只能用在循环中。

break 语句(不带标签引用),只能用在循环或 switch 中。

通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:

cars=["BMW","Volvo","Saab","Ford"];
list: 
{
   
    document.write(cars
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值