首页 > 编程语言 >JavaScript

JavaScript

时间:2023-08-19 20:01:40浏览次数:34  
标签:arr console log age JavaScript var name

JS

1. js导入方式

1.1 内部标签

<script>
</script>

1.2 外部引用

a.js

alert("hello js");
<script src="a.js">
        
</script>

2. 基本语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        //1. 定义变量
        var num = 1;
        //var name = "小红";
        //2. 条件控制
        if (2 > 1){
            alert("true");
        }
    </script>

</head>
<body>

</body>
</html>

3. 数据类型

  • Number:不区分小数和整数

  • NaN:不是一个数字

  • Infinity:无穷大

  • String:字符串

  • Boolean:布尔值

  • 逻辑运算符:&& || !

  • 比较运算符:==:类型不一致值一致,为true

    ​ ====:绝对等于,类型一样,值一样

NaN与所有数值都不相等,包括自己

var arr = [1,2,3,"1",null,true];
new person = {
     name:"小红",
     age:20,
     tags:["sleep","reading"];
}
person.tags[0]//取值

4. 字符串

  1. 正常字符串使用' '或者" "
  2. 若要输出引号需转义字符\
  3. 使用`(tab上面)可以多行字符串编写
<script>
	'use strict';//使用严格查模式
    let name = "quinn";
	let age = 20;
    let msg = `您好,${name},${age//模版字符串
    console.log(msg);
</script>
var name = "quinn"
console.log(name.length);//获取字符串长度
console.log(name.toUpperCase());//小写转换为大写
console.log(name.toLowerCase());//大写转换为小写
debugger eval code:1:1
console.log(name.indexOf('n')) //获取指定字符串内容在字符串中首次出现的位置索引
console.log(name.substring(1,3)) //截取字符串1-2

5. 数组

  1. 数组可以包含任意的数据类型
var arr = [1,2,3,4];
console.log(arr);//打印数组
arr.length = 10;//给length赋值,数组长度会发生改变,赋值过大没有元素的为null,赋值过小会丢失元素
console.log(arr);
console.log(arr.indexOf(2));//3
indexOf(1);//0 通过元素获取下标
arr.slice(2);//3,4,...
  1. push() && pop()
arr.push('a','b','c',5,6,7);//压入到尾部
>Array(10) [ 1, 2, 3, 4, "a", "b", "c", 5, 6, 7 ]
arr.pop();-->弹出尾部元素
>Array(9) [ 1, 2, 3, 4, "a", "b", "c", 5, 6 ]
  1. unshift() && shift()
arr.unshift('q','e')-->头部压入
>Array(11) [ "q", "e", 1, 2, 3, 4, "a", "b", "c", 5, … ]
arr.shift() -->弹出头部
>Array(10) [ "e", 1, 2, 3, 4, "a", "b", "c", 5, 6 ]
  1. sort()
>Array(7) [ 4, 7, 2, 3, 9, 5, 10 ]
arr.sort()-->排序
>Array(7) [ 10, 2, 3, 4, 5, 7, 9 ]
  1. reverse()
>Array(7) [ 10, 2, 3, 4, 5, 7, 9 ]
arr.reverse()
>Array(7) [ 9, 7, 5, 4, 3, 2, 10 ]
  1. concat()
>Array(7) [ 9, 7, 5, 4, 3, 2, 10 ]
arr.concat(['a','b'])-->并未改变数组,返回一个新的数组
>Array(9) [ 9, 7, 5, 4, 3, 2, 10, "a", "b" ]
  1. join()
arr.join('-')-->分隔符
>"9-7-5-4-3-2-10" 
  1. 多维数组
arr = [[1,2],[3,4],["5","6"]];
>Array(3) [ (2) […], (2) […], (2) […] ]
arr[1][1]
>4 

6. 对象

  1. js中所有的键都是字符串,值为任意对象
  2. 使用一个不存在的属性不会报错(undefined)
var person = {
    name:"quinn",
    age:23,
    score:0
}
  1. 赋值
person.name = "小红"
  1. 动态删除属性
delete person.name
>true
person
>Object { age: 23, score: 0 }
  1. 动态添加属性
person.email="[email protected]"
>"[email protected]"
person
>Object { age: 23, score: 0, email: "[email protected]" }
  1. 判断属性值是否在对象中
'age' in person
>true
'toString' in person//继承
>true 
  1. 判断属性是否是自身拥有的
person.hasOwnProperty('toString')
>false
person.hasOwnProperty('age')
>true 

7. 流程控制

  1. if...else
var age = 10;
if (age >=18){
	console.log("你已经成年了");
}else {
	console.log("你还没有成年");
}

image

  1. while
var age = 10;
while (age < 100){
	age = age +1;
	console.log(age);
}

image

  1. for
for (let i = 0; i < 100; i++) {
	console.log(i);
}

image

  1. forEach
var age = [12,3,14,5,8,3,7];
   age.forEach(function (value) {
   console.log(value);
})

image

  1. for...in
var age = [12,3,14,5,8,3,7];
for (var num in age){
	console.log(age[num]);
}

image

8. Map && Set

  • ES6新特性
  1. Map
var  map = new Map([['Tom',100],['Mary',90],['Jack',88]]);
var score = map.get('Tom');//get value by key
console.log(score);
//map.set('admin',88);-->新增和修改
//map.delete('tom');-->删除

image

  1. Set:无序不重复集合
var  set = new Set([3,1,2,4,2,1,3]);
console.log(set);
//set.add(6);-->add
//set.delete(2);-->delete
//set.has(3);-->是否包含某个元素

image

9. iterator

  • ES6新特性
  • 遍历数组
var arr = [3,4,5];
for (var x of arr){
    console.log(x)
}

image

  • 遍历Map
var  map = new Map([['Tom',100],['Mary',90],['Jack',88]]);
for (let x of map) {
    console.log(x)
}

image

  • 遍历Set
var  set = new Set([5,6,7,8]);
for (let x of set) {
	console.log(x)
}

image

10. 函数

10.1 函数的定义

function functionName(arg0,arg1,...,argn){
	statements
}
  1. 有参,无返回值
function sayHi(name,msg){
    alert("Hi"+name+","+msg);
}

sayHi("Jack","How are you");
  1. 有参,有返回值
function sum(num1,num2){
    return num1+num2;
}
var result = sum(1,2);

一个函数可以包含多个return语句

11. 复制变量值

var num1 = 10;
var num2 = num1;//num2是num1的副本,互不干扰
var obj1 = new Object();
var obj2 = obj1;
obj1.name = "Jack";
alert(obj2.name);//Jack
  1. 如果从一个变量向另一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值赋值到为新变量分配的位置上
  2. 如果从一个变量向另一个变量复制引用类型的值,同样会把该值赋值到为新变量分配的位置上,不同的是,这个值实际上是一个指针,复制操作接收后,两个变量引用的是同一个对象。

12. BOM

  • BOM是浏览器模型,把浏览器当做一个对象看‘
  • BOM的顶级对象是window
  • BOM浏览器厂商在各自浏览器上定义的,兼容性较差
  • 学习的是浏览器窗口交互的一些对象

12.1 window

alert("Warning");
confirm("Are you sure?");
prompt("What's you name?","Jack");
  1. alert()
  • 警告对话框
    image
  1. confirm()
  • 确认对话框
    image
  1. prompt()
  • 提示框

image

12.2 location

 window.location("http://www.quinn.com");
 alert(location.href);

image

  1. href()
  • 返回当前加载页面完整url

12.3 navigator

  1. userAgent()
  • 返回有客户机发送给服务器的user-agent头部的值

12.4 history

  1. back()
  • 后退
  1. forward()
  • 前进
  1. go(a)
  • a = 1:前进一个页面 a = -1:后退一个页面

13. DOM

  • 文档对象模型,把文档当做一个对象来看
  • 顶级对象是document
  • 主要学习的是操作页面元素
  • 是W3C标准

13.1 标准模型

  • document:整个文档对象
  • element:元素对象
  • attribute:属性对象
  • text:文本对象
  • comment:注释对象

13.2 获取元素

  1. 根据ID获取
<div id=“time”>2023</div>
var timer = document.getElementById('time');
  1. 根据标签名获取

    得到的是集合

<ul>
    <li>Java</li>
    <li>Java</li>
    <li>Java</li>
</ul>

var lis = document.getElementByTagName('li');
  1. 根据name属性获取

​ 返回Element对象数组

  1. 根据class属性

​ 返回Element对象数组

document.getElementByClassName('类名');
  1. document.querySelector
  • 根据指定选择器返回第一个元素对象
var firstBox = document.querySelector('.box');//#id
  1. document.querySelectorAll
  • 返回指定选择器所有元素对象
  • 返回集合
var lists = document.querySelectorAll(.box)
  1. 获取body元素
document.body;
  1. 获取html元素
document.html;

14. 事件监听

  1. 通过html标签中的事件属性进行绑定
<input type="button" onclick='on()'>

function on(){
	alert("click...");
}
  1. 通过DOM元素属性绑定
<input type="button" id="btn">

document.getElementById("btn"){
	alert("click....");
}

img

标签:arr,console,log,age,JavaScript,var,name
From: https://www.cnblogs.com/yqquinn/p/17642974.html

相关文章

  • JavaScript中的可选分号
    与许多编程语言一样,JavaScript使用分号(;)来分隔语句。这对于保持代码清晰非常重要:没有分号,一个语句的末尾可能会被解释为另一个语句的开头,反之亦然。在JavaScript中,如果两个语句写在不同的行上,通常可以省略它们之间的分号。此外,在程序的末尾,如果下一个标记是右花括号},您可以省略分......
  • JavaScript中的析构对象,析构数组与展开运算符
    前言这些是JavaScript中重要的编程思想,这些析构对象,析构函数与展开运算符很重要这块内容不怎么难,纯属一些语法,但是在所谓的函数式编程,以及React中却是广泛使用的逆向思维,之前是怎么构造,而现在让你如何展开,获取里面的内容!!逆向思维,之前是怎么构造,而现在让你如何展开,获取里面的内......
  • JavaScript中常见的数据结构和算法及其应用场景简介
    在JavaScript编程中,数据结构和算法是必不可少的组成部分。本文将介绍JavaScript中常见的数据结构和算法以及它们的应用场景。数据结构数组数组是JavaScript中最常见的数据结构之一。它是一种有序的集合,可以存储任意类型的数据。由于数组支持快速随机访问,因此它非常适合用于存......
  • 《Javascript中关于this作用域的箭头函数,普通函数以及回调函数中的特殊作用》
    开言这篇文章的内容很简单,一句话就是“涉及this指向谁”!!!但是涉及JavaScript的普通函数,箭头函数,WIndow,回调,Object等各种知识点其糅杂在一起,其知识点会很混乱,我们要理性头绪!!简单来说,普通函数可以看做管理严格的孩子,箭头函数是一个自由自在的孩子因此,在object中,使用箭头函数很危......
  • 7 JavaScript循环语句
    7循环语句在js中有三种循环语句.首先是while循环.它的逻辑和咱们python中的while几乎一模一样,就是符号上有些许的区别.//语法while(条件){循环体->里面可以有break和continue等关键字}/*判断`条件`是否为真,如果`真`,则执行`循环体`.执行完`循环体`,会再次......
  • 6 JavaScript条件判断
    6条件判断除了HTML以外.几乎所有的编程语言都有条件判断的功能.比如,python,我们用if语句来做条件判断.到了javascript中也是一样的,也使用javascript来做条件上的判断./*语法1*/if(条件1){代码块1}if(条件)a,b,c,d;该语法表示当条件为真.运......
  • [转]如何在 JavaScript 中遍历对象
    原文地址:如何在JavaScript中遍历对象在JavaScript中,当你听到“循环”一词时,你可能会想到使用各种循环方法,例如 for 循环、forEach() 方法、map() 方法等等。但不幸的是,这些方法对于对象不起作用,因为对象是不可迭代的。这并不意味着我们不能循环遍历一个对象——只是我......
  • 2 JavaScript的基础类型
    2JavaScript的基础类型JS虽然是一个脚本语言.麻雀虽小,五脏俱全.在js中也是可以像其他编程语言一样.声明变量,条件判断,流程控制等等.我们先看一下JS中的数据类型在js中主要有这么几种数据类型(基本)number数字,不论是整数还是小数,数据类型都是numberstring字......
  • QtWebChannel和JavaScript进行通信(简单理解)
    说明在使用Qt(C++)和JavaScript之间实现通信时,通常会使用一些模块和技术来使两者能够交互和传递数据。这种通信通常用于在Qt应用程序中嵌入Web内容,或者在Web页面中嵌入Qt应用程序。以下是一些常用的模块和技术,以及它们的作用QtWebEngine模块:作用:QtWebEngine是Qt中的Web引擎,允......
  • JavaScript-数据类型
    JavaScript语言的每一个值,都属于某一种数据类型。JavaScript的数据类型,共有六种。(ES6又新增了Symbol和BigInt数据类型,本教程不涉及。)数值(number):整数和小数(比如1和3.14)。字符串(string):文本(比如HelloWorld)。布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)。undefined:表......