首页 > 编程语言 >JavaScript基础

JavaScript基础

时间:2023-01-24 02:22:05浏览次数:40  
标签:arr console log age JavaScript 基础 var name

快速入门

1. 引入JavaScript

1、内部标签

<script>
// 注释
</script>

 

2、外部引入

abc.js

// ...

test.html

<script src="abc.js"></script>

 

测试代码

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

   <!-- script标签内,写JavaScript代码 -->
<!--   <script>-->
<!--       alert('hello,world');-->
<!--   </script>-->
<!-- script标签必须成对出现(自测用自闭合也可以) -->
   <script src="js/qj.js"></script>
<!-- 不用显式定义type,默认也是JavaScript   -->
   <script type="text/javascript">

   </script>
</head>
<body>

</body>
</html>

 

2. 数据类型

数值、文本、图形、音频、视频……

 

变量
// 都是var为类型,变量名不能以数字、#开头,可以是$,_,英文字母
var $1
var _1

 

 

number

js不区分小数和整数,都用number

123 // 整数123
123.1 //浮点数123.1
1.123e3 // 科学计数法
-99 // 负数
NaN // not a number
Infinity // 无限大

 

字符串

'abc' "abc"

 

布尔值

true , false

 

逻辑运算
&&  两个都为真,结果为真

|| 一个为真,结果为真

! 真为假,假为真

 

比较运算符
=   等于
== 等于(类型不一样,值样,为true)
=== 绝对等于(类型一样,值一样,为true)

这是JS的一个缺陷,坚持不要使用“==”比较

须知:

  • NaN === NaN(false),这个与所有的数值都不相等,包括自己

  • 只能通过isNaN(NaN)来判断这个数是否是NaN

 

浮点数
console.log((1/3) === (1-2/3));  // false

尽量避免使用浮点数进行运算,存在精度问题!

Math.abs(1/3-(1-2/3))<0.00000001; // true

 

 

null 和 undefined
  • null 空

  • undefined 未定义

 

数组

Java中的数组为一系列相同类型的对象,JS中不需要这样

   // 保证代码的可读性,尽量使用[]
var arr = [1,2,3,4,5,'hello',null,true];

new Array(1,2,3,4,5,'hello');

 

取数组下标:如果越界了,就会报:undefined

 

对象

对象是大括号,数组是中括号

每个属性之间使用逗号隔开,最后一个不需要逗号

// Person person = new Person();
var person = {
name: "jiaxing",
age: 6,
tags:['js','java','web','...']
}

取对象的值

// 在控制台输入
person.name
> 'jiaxing'
person.age
> 6

 

3. 严格检查模式

<!--
前提:IDEA 需要设置支持ES6语法
'use strict'; 严格检查模式,预防JavaScript的随意性导致产生的一些问题
必须写在JavaScript第一行
局部变量建议都使用let去定义
-->

<script>
'use strict';
// 全局变量
let i = 1;
// ES6 let

</script>

 

4. 数据类型详解

4.1、字符串

1、正常字符串我们使用 单引号 ‘ , 或者双引号 “ 包裹

2、注意转义字符

\'
\n 换行
\t 空格
\u4e2d \u#### Unicode字符
\x41 ASCII字符

3、多行字符串编写

<script>	
// 用反引号`` (tab上方)
var msg = `Hello
World
你好呀
你好`;
</script>

4、模板字符串

<script>
'use strict';

let name = "jiaxing";
let age = 3;

let msg = `你好呀,${name}`
</script>

5、字符串长度

// str.length
console.log(student)
> student
console.log(student.length)
> 7
console.log(student[0])
> s

6、字符串的不可变性

console.log(student)
> student
console.log(student[0] = 1)
> student

 

7、大小写转换

// 注意这里是方法,不是属性了
var student = "student";
console.log(student.toUpperCase())
> STUDENT
var student = "STUDENT"
console.log(student.toLowerCase())
> student

8、获取指定的字符下标

var student = "student";
console.log(student.indexOf('t'))
> 1
console.log(student.indexOf('s'))
> 0

9、截取字符串

var student = "student";
console.log(student.substring(4)) // 截取第n个元素后面的(不包含)
> ent
console.log(student.substring(2,6)) //截取第一个数字到第二个数字中间的部分(左闭右开)
> uden

 

4.2 数组

Array可以包含任意的数据类型

var arr = [1,2,3,4,5,6]; // 通过下标取值和赋值
arr[0]; // 取值
arr[0] = 1;

 

1、长度

console.log(arr.length)
> 6

注意:假如给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失

 

2、indexOf:通过元素获得下标索引

var arr = [1,2,3,4,5,6]; 
console.log(arr.indexOf(4)) // 元素2
> 3 // 下标为1

字符串的“1“和数字1是不同的

 

3、slice()截图Array的一部分,返回一个新数组,类似于String中的subString

var arr = [1,2,3,4,5,6]; 
arr.slice(3); // 从第3个开始截取到后边所有
> [4, 5, 6]
arr.slice(2,5);// 从第2个开始(包含)到第5个结束(不包含)(左闭右开)
> [3, 4, 5]

 

4、push() 、 pop() 操作尾部元素的方法

push:将元素压入到尾部

var arr = [1,2,3,4,5,6,"1","2"];
console.log(arr)
> [1, 2, 3, 4, 5, 6, '1', '2']
arr.push("a","b");
console.log(arr)
> [1, 2, 3, 4, 5, 6, '1', '2','a','b']

pop:弹出尾部的一个元素

arr.pop()
> 'b'
console.log(arr)
> [1, 2, 3, 4, 5, 6, '1', '2','a']

 

5、unshift()、shift() 操作头部元素的方法

unshift():将元素压入到头部

var arr = [1,2,3,4,5,6,"1"];
arr.unshift("a","b")
> 11
console.log(arr)
> ['a', 'b', 1, 2, 3, 4, 5, 6, '1']

shift():弹出头部的一个元素

arr.shift()
> 'a'
console.log(arr)
> ['b', 1, 2, 3, 4, 5, 6, '1']

 

6、排序 sort()

var arr = ["B","C","A"];
arr.sort()
> ['A', 'B', 'C']

 

7、元素反转 reverse()

var arr = ['A', 'B', 'C'];
arr.reverse()
> ['C', 'B', 'A']

 

8、拼接concat()

var arr =['C', 'B', 'A'];
arr.concat([1,2,3])
> ['C', 'B', 'A', 1, 2, 3]
console.log(arr)
> ['C', 'B', 'A']

注意:concat()并没有修改数组,只是会返回一个新的数组

 

9、连接符join

打印拼接数组,使用特定的字符串连接

var arr =['C', 'B', 'A'];
arr.join('-')
> 'C-B-A'

 

10、多维数组

arr=[[1,2],[3,4],['5','6']];
> [Array(2), Array(2), Array(2)]
> 0: (2) [1, 2]
> 1: (2) [3, 4]
> 2: (2) ['5', '6']
length: 3

console.log(arr[1][1])
> 4
console.log(arr[2][0])
> '5'

 

数组:存储数据(如何存,何如取,方法都可以自己实现!)

 

4.3 对象

若干个键值对

var 对象名 = {
属性名:属性值, // 每个属性之间用“,”隔开
属性名:属性值,
属性名:属性值 // 最后一个不用写
}

// 定义了一个person对象,它又四个属性
var person = {
name:"jiaxing",
age:6,
email:"[email protected]",
score:87
}

js中对象,{……}(一个大括号)表示一个对象,键值对描述属性xxx:xxx,多个属性之间使用“,”(逗号)隔开,最后一个属性什么都不加

 

JavaScript中的所有的键都是字符串,值是任意对象!

 

1、对象赋值

person.name='xing';
'xing'
person.name
'xing'

 

2、使用一个不存在的对象属性,不会报错!

person.hello
> undefined

 

3、动态的删减属性,通过delete删除对象的属性

person
> {name: 'xing', age: 6, email: '[email protected]', score: 87}
delete person.name
> true
person
> {age: 6, email: '[email protected]', score: 87}

 

4、动态的添加,直接给新的属性添加值即可

person
> {age: 6, email: '[email protected]', score: 87}
person.hello = 'hello'
> 'hello'
person
> {age: 6, email: '[email protected]', score: 87, hello: 'hello'}

 

5、判断属性值是否在这个对象中! xxx in xxx

person
> {age: 6, email: '[email protected]', score: 87, hello: 'hello'}
'age' in person
> true
// 继承
'toString' in person
> true

 

6、判断一个属性是否是这个对象自身拥有的hasOwnProperty()

person
> {age: 6, email: '[email protected]', score: 87, hello: 'hello'}
person.hasOwnProperty('toString')
> false
person.hasOwnProperty('age')
> true

 

 

4.4 流程控制

if判断

var age = 6;
if (age > 3){ // 第一个判断
alert("haha")
}else if{ // 第二个判断
alert("kucha")
}else{ // 否则...
alert("shuashua")
}

while循环,避免程序死循环

var age = 6;

while(age<100){
age++;
console.log(age)
}

for循环

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

forEach遍历数组

var age = [1,2,3,4,5,1234,54,123,23,4];

// 函数
age.forEach(function (value) {
console.log(value)
})

for...in遍历数组

var age = [1,2,3,4,5,1234,54,123,23,4];

// for(var index in object){}
for(var num in age){
console.log(age[num]);
}
for(var num in age){
console.log(age); // 这样输出的是每个元素的下标
}

for...of遍历数组

var age = [1,2,3,4,5,1234,54,123,23,4];
for(var x of age){
console.log(x);
}

 

4.5 Map 和 Set

ES6的新特性

 

Map:

// ES6 Map
// 学生的成绩,学生的名字
// var names = ["tom","jack","haha"];
// var scores = [100,90,80];

var map = new Map([['tom',100],['jack',90],['haha',80]]);
var name = map.get('tom'); // 通过key获得value
map.set('admin',123456); // 添加或修改元素
console.log(name)
> 100

map
> Map(4) {'tom' => 100, 'jack' => 90, 'haha' => 80, 'admin' => 123456}

var map = new Map([['tom',100],['jack',90],['haha',80]]);
var name = map.get('tom'); // 通过key获得value
map.set('admin',123456); // 添加或修改元素
console.log(name)
map.delete("tom"); // 删除元素
> 100

map
> Map(3) {'jack' => 90, 'haha' => 80, 'admin' => 123456}

 

Set:无序,不可重复的集合

var set = new Set([3,1,1,1,1]); // set可以去重
set
>  {3, 1}

set.add(1); // 添加
>  {3, 1}

set.add(2); // 添加
> {3, 1, 2}

set.delete(1); // 删除
> {3, 2}

console.log(set.has(3)); // set中是否包含元素“3”
4.6 for...of

 

遍历Map

var map = new Map([['tom',100],['jack',90],['haha',80]]);
for(let x of map){
console.log(x);
}

遍历Set

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

 

5.函数

5.1、定义函数

定义方式一

绝对值函数

function abs(x){
if(x >= 0){
return x;
}else{
return -x;
}
}

一旦执行到return代表函数结束,返回结果!

如果没有执行return,函数执行完也会返回结果,结果就是undefined

定义方式二

var abs = function(x){
if(x >= 0){
return x;
}else{
return -x;
}
}

function(x){...}这是一个匿名函数。但是可以把结果赋值给abs,通过abs就可以调用函数!

方式一和方式二等价!

调用函数

abs(10)
> 10
abs(-10)
> 10
abs()
> NaN

参数问题:JavaScript可以传任意个数参数,也可以不传递参数

参数进来是否存在问题?

假设不存在参数,如何规避?

// 手动抛异常
function abs(x){
// 手动抛出异常
if(typeof x!== 'number'){
throw 'Not a Number';
}
if(x >= 0){
return x;
}else{
return -x;
}
}

 

arguments

arguments是一个JS免费赠送的关键字;

代表传递进来的所有的参数,是一个数组

rest

以前:

function aaa(a,b){
console.log("a =>" + a);
console.log("b =>" + b);

if (arguments.length > 2){
for (let i = 2; i < arguments.length; i++) {
// ...
}
}
}

 

ES6引入的新特性,获取除了已经定义的参数之外的所有参数

function aaa(a,b,...rest){
console.log("a =>" + a);
console.log("b =>" + b);
console.log(rest)
}

rest参数只能写在最后面,必须用...标识。

 

5.2、变量的作用域

在JavaScript中,var定义变量实际是有作用域的。

假设在函数体中欧声明,则在函数体外不可以使用

  function aa(){
var x = 1;
x = x + 1;
}

x = x + 2; // 报错

 

如果两个函数使用了相同的变量名, 只要在各自的函数内部,就不冲突

  function aa(){
var x = 1;
x = x + 1;
}

function aa1(){
var x = 'A';
x = x + 1;
}
// 不会报错

内部函数可以访问外部函数的成员,反之则不行

  function aa(){
var x = 1;

// 内部函数可以访问外部函数的成员,反之则不行
function aa1(){
var y = x + 1;
}

var z = y + 1;
}

假设,内部函数变量和外部函数的变量重名

function aa(){
var x = 1;

function aa1(){
var x = 'A';
console.log('inner' + x); // innerA
}
console.log('outer' + x); // outer1
aa1();


}
aa();

假设在JavaScript中,函数查找变量从自身函数开始,由“内”向“外”查找,假设外部存在这个同名的函数变量,则内部函数会屏蔽外部函数的变量。

 

提升变量的作用域

function aa(){
var x = "x" + y;
console.log(x);
var y = 'y';
}

结果:xundefined

说明:JS执行引擎,自动提升了y的声明,但是不会提升变量y的复制。

全局函数

// 全局变量
var x = 1;

funciont f(){
console.log(x);
}
f();
console.log(x);

全局对象:window

    var x = 'xxx';
alert(x);
alert(window.x); // 默认所有的全局变量,都会自动绑定在window对象下

alert()这个函数本身也是一个window的变量

JavaScript实际上只有一个全局作用域,任何变量(函数也可以视为变量),假设没有在函数作用范围内找到,就会向外查找,如果在全局作用域都没有找到,报错ReferenceError

规范

由于我们所有的全局变量都会绑定到我们的window上。如果不同的js文件,使用了相同的全局变量,会冲突 ---->如何能够减少冲突?

// 唯一全局变量
var KuangApp = {};

// 定义全局变量
KuangApp.name = 'kuangshen';
KuangApp.add = function(a,b){
return a + b;
}

把自己的代码全部放入自己定义的唯一空间名字中,降低全局命名冲突的问题

(jQuery)

局部作用域 let

for (var i = 0; i < 100; i++) {
console.log(i);
}
console.log(i+1); // i 出了这个作用域还可以使用 结果为:101

ES6 let 关键字,结局局部作用域冲突问题!

for (let i = 0; i < 100; i++) {
console.log(i);
}
console.log(i+1); // Uncaught RefrenceError : i is not defined

建议大家都是用let去定义局部作用域的变量;

 

常量 const

在ES6之前,怎么定义常量:只要用全部大写字母命名的变量都是常量;建议不要修改这样的值

var PI = '3.14';
console.log(PI); // 3.14
PI = '213'; // 可以改变这个值
console.log(PI); // 213

在ES6引入了常量关键字:const

const PI = '3.14';
console.log(PI);
PI = '123'; // 只读变量,报错:TypeError: Assignment to constant variable
console.log(PI);

 

5.3、方法

定义方法

方就是吧函数放在对象的里面,对象只有两个东西:属性和方法

name: '秦疆',
birth:2020,
// 方法
age:function(){
// 今年 - 出生的年
var now = new Date().getFullYear();
return now - this.birth;
}

// 属性
kuangshen.name
// 方法,一定要带()
kuangshen.age()

this代表什么:

function getAge(){
// 今年 - 出生的年
var now = new Date().getFullYear();
return now - this.birth;
}

var kuangshen = {
name: '秦疆',
birth:2020,
age:getAge
}

kuangshen.age() // 正常输出

getAge()
> NaN // window为对象

this是无法指向的,是默认指向调用它的那个对象

 

apply

apply可以控制this指向

function getAge(){
// 今年 - 出生的年
var now = new Date().getFullYear();
return now - this.birth;
};

var kuangshen = {
name: '秦疆',
birth:2020,
age:getAge
};

getAge().apply(kuangshen,[]); // this 指向了狂神这个对象,参数为空

 

6、内部对象

标准对象

typeof 123
'number'
typeof '123'
'string'
typeof true
'boolean'
typeof NaN
'number'
typeof []
'object'
typeof {}
'object'
typeof Math.abs
'function'
typeof undefined
'undefined'

 

6.1、Date

基本使用

var now = new Date();
now.getFullYear(); // 年
now.getMonth(); // 月
now.getDate(); // 日
now.getDay(); // 星期几
now.getHours(); // 时
now.getMinutes(); // 分
now.getSeconds(); // 秒

now.getTime(); // 时间戳 1970.1.1 0:00:00 毫秒数

console.log(new Date(1674125663954)); // 时间戳转为时间

转换

now.toLocaleString()
'2023/1/19 下午6:54:58
now.toGMTString()
'Thu, 19 Jan 2023 10:54:58 GMT'
6.2、JSON

json是什么

早期,所有数据传输习惯使用XML文件

 

在JavaScript一切皆为对象,任何js支持的类型都可以用那个JSON来表示;

格式:

  • 对象都用{}

  • 数组都用[]

  • 所有的键值对 都使用key:value

JSON字符串 和 JS 对象的转化

var user = {
name:"qinjiang",
age:3,
sex:'男'
}

// 将对象转化为json字符串:'{"name":"qinjiang","age":3,"sex":"男"}'
var jsonUser = JSON.stringify(user);

// json 字符串转化为对象:参数为JSON字符串
var obj = JSON.parse('{"name":"qinjiang","age":3,"sex":"男"}');

 

JSON和JS对象的区别

var obj = {a:'hello',b:'hellob'};
var json = '{"a":"hello","b":"hellob"}';
6.3、Ajax
  • 原生的js写法 xhr异步请求

  • jQuery封装好的方法 $("#name").ajax("")

  • axios请求

 

7、面向对象编程

JavaScript、Java、c# ...面向对象;JavaScript有些区别!

  • 类:模板

  • 对象:具体的实例

在JavaScript中需要大家转换一下思维方式

原型:

var Student = {
name:'qinjiang',
age:3,
run: function(){
console.log(this.name + 'run...');
}
};

var Bird = {
fly:function (){
console.log(this.name + 'fly...')
}
};

var xiaoming = {
name:'xiaoming'
};

// 小明的原型 是 Student
xiaoming.__proto__ = Student;

class继承

class 关键字,是在ES6引入的

1、定义一个类:属性、方法

// 定义一个学生的类
class Student{
constructor(name){
this.name = name;
}
hello(){
alert('hello');
}
}
var xiaoming = new Student("xiaoming");
var xiaohong = new Student("xiaohong");
xiaoming.hello();

2、继承

<script>

 // ES6之后
 // 定义一个学生的类
 class Student{
   constructor(name){
     this.name = name;
  }
   hello(){
     alert('hello');
  }
}

 class XiaoStudent extends Student{
   constructor(name,grade) {
     super(name);
     this.grade = grade;
  }

   myGrade(){
     alert('我是小学生');
  }
}

 var xiaoming = new Student("xiaoming");
 var xiaohong = new XiaoStudent("xiaohong",1);

</script>

 

原型链

 

 

8、操作BOM对象(重点)

浏览器介绍

JavaScript和浏览器的关系:

JavaScript诞生就是为了能够让它在浏览器中运行

BOM:浏览器对象模型

  • IE 6-11

  • Chorme

  • Safari

  • FireFox

 

三方

  • QQ浏览器

  • 360浏览器

window

window代表浏览器窗口

window.alert(1)
> 弹窗:1
window.innerHeight/outerHeight
> 内/外边高度
window.innerWidth/outerWidth
> 内/外边宽度

 

Navigator

Navigator,封装了浏览器的信息

navigator.appVersion
'5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.190.400 QQBrowser/11.5.5237.400'
navigator.platform
'Win32'

大多数时候,我们不会使用navigator对象,因为会被人为修改

不建议使用这些属性来判断和编写代码

 

screen

代表屏幕的尺寸

screen.width
1536
screen.height
864

 

location

location代表当前页面的URL信息

host:主机
href:当前指向位置
protocol:协议
reload():重新加载(刷新)
// 设置新的地址
location.assign('http://...');

 

document

document代表当前的页面,HTML DOM文档树

document.title
> '百度一下,你就知道'
document.title='逗你一下,你就知道';
> '逗你一下,你就知道'

获取具体的文档树节点

<dl id = 'app'>
 <dt>Java</dt>
 <dd>JavaSE</dd>
 <dd>JavaEE</dd>
</dl>

<script>
 var dl = document.getElementById('app');
</script>

获取cookie

document.cookie

劫持cookie原理

若正在访问www.taobao.com时弹出一个JavaScript ↓

<script src='aa.js'></script>
<!--恶意人员:获取你的cookie上传到他的服务器-->

服务器端可以设置cookie:httpOnly

 

history (不建议使用)

history代表浏览器的历史记录

history.back() // 后退
history.forward() // 前进

 

9、操作DOM对象(重点)

DOM:文档对象模型

核心

浏览器网页就是一个DOM树形结构

  • 更新:更新DOM节点

  • 遍历DOM节点:得到DOM节点

  • 删除:删除一个DOM节点

  • 添加:添加一个新的节点

要操作一个DOM节点,就必须要先活的这个DOM节点

获得DOM节点

// 对应css选择器
var h1 = document.getElementsByTagName('h1');
var h2 = document.getElementById('p1');
var h3 = document.getElementsByClassName('p2');
var father = document.getElementById('father');

var children = father.children; // 获取父节点下的所有子节点

这是原生代码,之后我们尽量都使用jQuery()

 

更新节点

<div id="id1">

</div>

操作文本

  • id1.innerText="123" 修改文本的值

  • id1.innerHTML='123' 可以解析HTML文本标签

操作js

id1.style.color='red'; // 属性使用 字符串 包裹
> 'red'
id1.style.fontSize='100px';   _ 转 驼峰命名
> '100px'
id1.style.padding='2em';
> '2em'

 

删除节点

删除节点的步骤:先获取父节点,再通过父节点删除自己

<div id="father">
<h1>标题一</h1>
<p id = "p1">p1</p>
<p class="p2">p2</p>
</div>
<script>
 /*var self = document.getElementById(p1);
  var father = self.parentElement;
  father.removeChild(self)*/
   
   // 删除是一个动态的过程:
   father.removeChild(father.children[0])
</script>

注意:删除多个节点的时候,children是在时刻变化的,删除节点的时候一定要注意!

 

插入节点

我们获得了某个DOM节点,假设这个DOM节点是空的,我们通过innerHTML就可以增加一个元素了,但是这个DOM节点已经存在元素了,就会产生覆盖

 

追加:

<p id="js">JavaScript</p>
<div id="list">
 <p id="se">JavaSE</p>
 <p id="ee">JavaEE</p>
 <p id="me">JavaME</p>
</div>

<script>
 var js = document.getElementById('js');
 var list = document.getElementById('list');
 
 list.append(js)
</script>

创建一个新的标签,实现插入

<script>
 var js = document.getElementById('js'); // 已存在的节点
 var list = document.getElementById('list');
 // 通过JS 创建一个新的节点
 var newP = document.createElement('p');// 创建一个p标签
 newP.id = 'newP';
 newP.innerText = 'Hello,Kuangshen';

 list.append(newP);

 list.append(js)

 // 创建一个标签节点(通过这个属性,可以设置任意的值)
 var myScript = document.createElement('script');
 myScript.setAttribute('type','text/javascript');
</script>

 

10、操作表单(验证)

表单是什么 form ∈ DOM树

  • 文本框 text

  • 下拉框 <select>

  • 单选框 radio

  • 多选框 checkbox

  • 隐藏域 hidden

  • 密码框 password

  • ……

表单的目的:提交信息

获取要提交的信息

<form action="post">
 <p>
 <span>用户名:</span><input type="text" id="username"/>
 </p>

 <!-- 多选框的值,就是定义好的value -->
 <p>
   <span>性别:</span>
   <input type="radio" name="sex" value="man" id="boy" />男
   <input type="radio" name="sex" value="woman" id="girl"/>女
 </p>
</form>

<script>
 var input_text = document.getElementById('username');
 var boy_radio = document.getElementById('boy');
 var girl_radio = document.getElementById('girl');
 // 得到输入框的值
 input_text.value;
 // 修改输入框的值
 input_text.value = '123';

 // 对于单选框,多选框等固定的值,boy_radio.value只能取到当前的值
 boy_radio.checked; // 查看返回的结果,是否为true,如果为true,则被选中
 girl_radio.checked = true; // 赋值
</script>
 

标签:arr,console,log,age,JavaScript,基础,var,name
From: https://www.cnblogs.com/jiaxing-java/p/17065746.html

相关文章

  • JavaScript 解决冒泡事件导致的性能问题
    在JavaScript中,当有大量的子元素都需要绑定同一个事件时,冒泡事件可能会导致性能问题。这时可以使用以下方法来解决性能问题。使用事件委托:通过在父元素上绑定事件监听......
  • JavaScript 事件委托
    事件委托是一种事件处理方式,它可以通过在父元素上绑定事件,然后利用事件冒泡的特性,让父元素处理子元素上的事件。这样做的好处是可以减少事件监听器的数量,提高性能。在Jav......
  • JavaScript学习笔记—高阶函数
    如果一个函数的参数或返回值是函数,则这个函数就成为高阶函数将函数作为参数,意味着可以对另一个函数动态的传递代码classPerson{constructor(name,age){thi......
  • 编程软件基础知识(杂记)
    1电脑知识1.12编译型语言和解释型语言编程语言分为编译型语言和解释型语言2.1编译型语言C和C++这两种语言是编译型语言,编译型语言的特点是执行速度快,缺点是什么呢?......
  • JavaScript 事件冒泡和事件捕获
    事件冒泡指的是从触发元素开始,向父元素传播事件的过程。事件捕获则是相反,从父元素开始,向触发元素传播事件。在JavaScript中,当一个事件发生时,会先进行事件捕获,然后再进行......
  • 机制设计原理与应用(一)机制设计基础
    什么是机制设计?微观经济学和CS/EE的交叉学科。它采用了一种工程方法来设计激励机制,以实现战略环境中不完全信息的预期目标。机制设计具有广泛的应用,特别是在资源管理方......
  • JavaScript
    JavaScript第三章--类型、值、变量3.10变量声明与赋值3.10.1let,const//let可以声明的同时赋值,也可以只声明,只声明的变量值为undefinedleti,num;letb=10;//co......
  • http基础(随缘更新)
    前言:过年有点无聊,写写博客吧,顺便也总结一下。1.TCP/IP协议族1.1定义  什么是协议?协议是为了解决计算机与网络设备通信所制定的一种规则,只有使用相同的规则,才能顺利......
  • 区块链基础入门(一)
    区块链知识基础1.区块链的定义:区块链是一个集合了密码学、分布式储存、智能合约、共识算法等多种新型技术的数据传输方式。并对现有互联网进行升级和创新。2.区块:......
  • Day1-python基础
    1.认识pythonPython的发音与拼写Python的作者是GuidovanRossum(龟叔)Python正式诞生于1991年Python的解释器如今有多个语言实现,我们常用的是CPython(官方版本的C语言实......