javaScript基础

【进阶】【JS逆向爬虫】【1.JavaScript 基础语法】初始JavaScript 初始JavaScript 1.JavaScript 概述 2.JavaScript 的作用 3.浏览器执行 JS 简介 4.JS 的组成 ECMAScript DOM ——文档对象模型 BOM ——浏览器对象模型 5.JavaScript 运行过程 阅读详情

javaScript语法

1.常用输出语句

/*弹窗*/
alert("hi");
/*控制台输出语句*/
console.log('猜猜我在哪?'); 
/*html内部*/
document.write("<h1>人没有梦想 和咸鱼有啥区别</h1>");

2.变量

标识符

所有 JavaScript 变量必须以唯一的名称的标识。

这些唯一的名称称为标识符。

标识符可以是短名称(比如 x 和 y),或者更具描述性的名称(age、sum、totalVolume)。

构造变量名称(唯一标识符)的通用规则是:

  • 名称可包含字母、数字、下划线和美元符号
  • 名称必须以字母开头
  • 名称也可以 $ 和 _ 开头(但是在本教程中我们不会这么做)
  • 名称对大小写敏感(y 和 Y 是不同的变量)
  • 保留字(比如 JavaScript 的关键词)无法用作变量名称

**提示:**JavaScript 标识符对大小写敏感。

// 定义变量 并且赋值 变量的本质是存储数据的容器
var $ = 10;
$ = 12.5;
//alert($);
var stuName = 'zs';
var stuAge = 20;
var sex = '男';

3.数据类型

数据类型 typeof

var num = 10.4;
console.log(typeof num);//number
console.log(num); // 输出num变量的值

number、string、boolean、undefined、null、symbol 引用数据类型(object)

var num2;
console.log(num2); // 没有赋值 默认值是undefined
console.log('num'); // 输出字符串num
var obj2 = {};
console.log(typeof obj2);//引用(object)

4.运算符

加、减、乘、除、取余或求模、前后置自增(减)运算符

一般用法

var num = 1 + 2;
var num1= 11 % 2;//1
var num2 = 10;
var num3;
num3 = num2++; // num2++作为整体赋值 用的是num2之前的值
num3 = ++num2; // ++num2作为整体赋值 用的是num2加1之后的值
//--同理

数据类型之间的转化规则:

console.log(typeof('1' + 2)); 		// '1'+'2'  =>  '12'
console.log('3' - '4'); 			// 3-4  =>  -1
console.log(typeof('3' - '5ad')); 	// NaN(Not a Number无法表示的数字)  类型还是number
console.log('3' - false); 			// 3-0 false等价于0,底层C++实现
console.log('3' - true); 			// true当作1,底层C++实现
console.log('10' + 0 - 10); 		// '100'-10 => 90
console.log('10' * 3); 				//类型转化10*3=>30
console.log('10' / 3);				//3.333333

复合运算符

大于 >、小于 <、大于等于 >=、小于等于 <=、判断等于(严格判断 ===、非严格判断 )、判断不等于(严格判断 !、非严格判断 !=)

console.log(5 == '5'); 	// true == 不严格相等 只要内容相同即可 数据类型可以不同
console.log(5 === '5'); // false === 严格相等 内容和类型都需要一样
console.log(5 != '5');	// false  != 是对== 的否定
console.log(5 !== '5'); // true !== 是对===的否定

逻辑运算符(表达式|| 表达式 、表达式&&表达式、!表达式)短路现象

//逻辑运算符 && || !
// 表达式1 && 表达式2 首先计算表达式1的真假(0,空字符串,NaN,false,undefined,null这些都看成假,其余全是真)假如表1为真 最终直接返回表达式2的值 假如表1为假 结果就是表1的值,表2此时不会执行
// 这种现象叫短路现象,||和&&都有这种性质
//(!true)=>false
console.log(!!5); // 把5变成布尔值true

条件运算符(表达式?表达式:表达式)

console.log(10 % 2 === 0 ? '偶数' : '奇数');

5.数据类型转换

parseFloat() 把其他值转成小数 从左到右直到遇到第一个非数字且非小数点的字符为止

parseInt() 把其他值转成整数 从左到右直到遇到第一个非数字字符为止

Number() 把其他值转成数字,值当中只要有字母或其他符号 结果就是NaN

Boolean() 把其他值转成布尔值

num + ‘’; 数字转字符串

num.toString(2)输出二进制对应的字符序列

  • “23.23”----->23.23
var str = "23.23";
console.log(typeof(str - 0));//number 23.23
var res = parseFloat(str);
console.log(res, typeof res);//23.23  
  • parseFloat() 把其他值转成小数 从左到右直到遇到第一个非数字且非小数点的字符为止
console.log(parseFloat('23.12a')); // 23.12
console.log(parseFloat('23.b12a')); // 23
console.log(parseFloat('z23.b12a')); // NaN
  • parseInt() 把其他值转成整数 从左到右直到遇到第一个非数字字符为止
console.log(parseInt('23.12a')); // 23
console.log(parseInt('23.b12a')); // 23
console.log(parseInt('z23.b12a')); // NaN
  • Number() 把其他值转成数字,值当中只要有字母或其他符号 结果就是NaN
console.log(Number('23.12a')); // NaN
console.log(Number('a23.12')); // NaN
console.log(Number('23.12')); // 23.12
console.log(Number('123'));//123
console.log(Number(true)); // 1
console.log(Number(false)); // 0
  • Boolean() 把其他值转成布尔值
console.log(Boolean(-1)); // true
console.log(Boolean(0)); // false
console.log(Boolean('')); // false
console.log(Boolean(undefined));//false
console.log(Boolean(NaN));//false
  • 数字转字符串
var num = 10;
console.log(typeof(num + '')); // '10'
console.log(typeof num.toString());
console.log(num.toString(2)); // 输出二进制对应的字符序列 1010

6.if-else if-else结构

if(条件表达式){
代码块
}else if(条件表达式){
代码块
}else{
代码块
}

7.switch-case结构

var num = 12;
switch (num) {
	case 0:
		alert('星期日');
		break; // 跳出switch结构
	case 1:
		alert('星期一');
		break;
	case 2:
		alert('星期二');
		break;
	case 3:
		alert('星期三');
		break;
	case 4:
		alert('星期四');
		break;
	case 5:
		alert('星期五');
		break;
	case 6:
		alert('星期六');
		break;
	default:
		alert('出错啦');
		break;
}

8.选择嵌套

让用户输入一个年龄(1~100)

数字 >=18 “可以***” 1-18 继续上学 负数、0、>100 、不是数字 提示有误

// 先拿到用户输入的值
var age = parseInt(prompt("请输入你的年龄")); // 输入提示框 
//alert(typeof age);
// age NaN 整数
if (isNaN(age)) { // age是NaN 条件成立
	alert('输入有误,年龄不能是非数字的其他特殊符号');
} else {
	if (age >= 1 && age <= 100) {
		if (age >= 18) {
			alert('可以***');
		} else {
			alert('继续上学');
		}
} else {
	alert('输入范围不正确');
	}
}

9.while循环

var i = 1; // i次数
while (i <= 50) {
	console.log('我要***!!!');
	i++;
}
console.log(i); // 51

10.do-while循环

var i = 1;
do {
	console.log(i);
	i += 2;
} while (i <= 100)

11.for循环

执行过程

1 先执行表达式1

2 执行表达式2 表达式2为假for循环结束 表达式2为真 执行第3步

3 执行循环体

4 执行表达式3

5 回到第二步

for(表达式1;表达式2;表达式3) {

​ 循环体

}

  • 表达式1一般用于变量初始化 表达式2一般放循环条件 表达式3放变量的变化

  • 表达式之间用分号隔开,三个表达式都可以省略,但是分号不能省

在这里插入图片描述

var i = 10;
for (; i >= 1;) {
	console.log(i);
	i--;
}
alert(i);

12.break,continue

// break break用在循环 一旦执行整个循环结束
// continue 继续 
// 打印1-20的数 遇到7的倍数后就不输出了
// 跳过7 其他全部打印
var num = 1;
while (num <= 20) {
	if (num === 7) {
		// break 让循环结束
		num++;
		continue;
	}
	console.log(num);
	num++;
}

13.循环嵌套

// 外循环
for (var i = 1; i <= 4; i++) {
	//console.log('*****');
	//document.write('*****'); 一次输出很多星 显得比较麻烦
	// 内循环
	for (var j = 1; j <= 15; j++) {
		document.write('*');
	}
	document.write('<br />');
}

14.函数

函数解决代码的复用

  • 定义

function 函数名(参数) {

​ // 具体功能代码实现-函数体

}

  • 调用

函数名();

​ 函数打印金字塔

function printStar() {
	for (var x = 0; x < 5; x++) {
	// x看作行数 
	// 先输出若干个空格(4-x)
		for (var y = 0; y < 4 - x; y++) {
			document.write('&ensp;'); // &ensp; 一个空格和一个普通符号占的宽度一样
		}
		// 再输出若干个星星(2*x+1)
		for (var z = 0; z < 2 * x + 1; z++) {
			document.write('*');
		}
		// 最后换行
		document.write('<br />');
	}
}

15.arguments

arguments是函数内置的一个对象 存储了所有传递过来的实参,该对象有个length属性表示实参长度 语法 arguments.length

  • 判断形参和实参的个数是否匹配
function fn(a, b) {
	console.log(arguments.length); // 实参长度 
	console.log(fn.length); // 函数名.length 表示形参个数
	if (arguments.length === fn.length) {
		return a + b;
	} else {
		alert('实参和形参个数不匹配');
	}
}
  • 求任意数的和
function getSum() {
	// {0:***,1:****,2:***}
	var sum = 0;
for (var i = 0; i < arguments.length; i++) {
		sum += arguments[i];
	}
	return sum;
}

16.递归

  • 递归实现斐波那切数列 1 1 2 3 5 8 13 。。。 第n项的值
function fib(n) {
	if (n === 1 || n === 2) return 1;
	return fib(n - 1) + fib(n - 2);
}
for (var i = 1; i <= 10; i++) {
	console.log(fib(i));
}
  • 求1+2+…+100 getSum(n) 求前n之和 === n+前n-1个数的和
function getSum(n) {
	if (n === 1) return 1;
	return n + getSum(n - 1);
}

17.作用域

  • 全局作用域和局部作用域

在函数之外定义的变量叫全局变量 ,函数外不加var直接使用的变量隐式全局变量

函数内部通过var定义的变量 叫局部变量

类比C、C++的局部变量和全局变量

  • 作用域链
function fn() {
	//var a = 1;
	function fn2() {
		//var a = 2;
		function fn3() {
			//var a = 3;
			console.log(a);
		}
		fn3();
	}
	fn2();
}
fn();

18.对象

  • 对象 静态特征(属性)+动态行为(函数)
var zs = {
	pname: 'zhangsan',
	age: 30,
	sex: '男',
	eat: function() {
	console.log('吃货!!!');
	}
}
  • 对象、函数可以动态添加属性,基本数据不能动态添加属性
//对象、函数可以动态添加属性
zs.coding = function() {
	console.log('crazy coding');
}
function fn() {
}
fn.a = 1;
console.log(fn.a);


var num = 10;//基本数据
num.a = 'hello'; // 基本数据不能动态添加属性
console.log(num.a); // undefined
  • 对象 无序的属性集合,属性名和属性值用冒号隔开,属性和属性之间用逗号隔开
// 访问对象的成员 对象.成员
console.log(zs.pname);
console.log(zs.age);
zs.eat();
// 对象['属性名']
console.log(zs['pname']);
console.log(zs['sex']);
zs['eat']();
// 对象[变量] 变量存储的是对象的属性名
var attr = 'pname';
console.log(zs[attr]); // zhangsan
console.log(zs.attr); //undefined 相当于访问zs对象的attr属性
console.log(zs['attr']); // undefined 相当于访问zs对象的attr属性

19.数组

1.定义

(1)数组直接量

var arr2 = [1, 2, 3, 4];

(2)通过new创建数组对象

var arr3 = new Array(); // []

2.数组的长度 数组元素的个数 通过数组名.length获取数组元素个数

console.log(arr3.length);

3.数组相关操作 获取数组元素 数组名[下标] 下标0~arr.length-1

4.添加元素、修改

未赋值的元素默认值为undefined

5.API

1.push()
功能在数组末尾添加一个或多个元素
参数添加的元素序列
返回值返回的是原数组增加元素后的长度
特点会改变原数组

2.unshift() 用法基本与push()一样,只是在数组前面添加元素

3.pop()
功能在数组末尾删除一个元素
参数无参数
返回值返回的是删除的那个元素
特点会改变原数组

4.shift() 用法基本与pop()一样,只是在数组前面删除元素

5.splice()
功能对数组进行截取
参数第一个参数表示从什么位置开始 第二个参数表示到什么位置结束(不包含)
返回值返回的是截取的元素组成的新数组
特点不会改变原数组
6.concat()
功能合并数组
参数放需要合并的数组或值
返回值返回的是合并后的新数组
特点不会改变原数组
7.Join()
功能以指定的符号连接数组的每个元素
参数指定的符号或者为空(不传参数 默认以逗号)
返回值返回的是连接后的字符串
特点不会改变原数组
8.reverse()
功能以数组元素进行翻转
参数无参数
返回值返回的是翻转后的数组
特点会改变原数组

9.toString() 把数组转成字符串

10.forEach()
功能对数组进行循环 和for作用类似
参数接受一个函数
返回值undefined
特点会改变原数组
11.indexOf()
功能在数组中查找元素
参数需要查找的元素
返回值数字,-1代表没有找到,或者找到的序号
特点不会改变原数组, 找到第一个满足条件为止
12.filter()
功能在数组中过滤元素
参数接受一个函数
返回值满足条件的元素组成的数组
特点不会改变原数组
13.map()
功能对原数组进行映射,新数组的元素值是每次循环函数的返回值决定
参数接受一个函数
返回值与原数组对应的新数组
特点不会改变原数组
14.some()
功能在数组中找有没有满足条件的元素
参数接受一个函数
返回值布尔值 找到满足条件返回true 否则返回false
特点不会改变原数组 只要找到第一个满足条件的元素终止循环 则返回true
15.every()
功能看数组中元素是否都满足条件
参数接受一个函数
返回值布尔值 只要找到一个不满足返回false,全部满足返回true
特点不会改变原数组 只要找到第一个不满足条件的元素终止循环 则返回false

16.isArray()

console.log(Array.isArray({})); // false
console.log(Array.isArray([])); // true
console.log(Array.isArray(123)); // false

17.sort()

var ary3 = [10, 3, 4, 12, 32, 11];
ary3.sort(function(a, b) {
	return b - a; // 降序 假如a-b就是升序
});

20.数组案例

数组去重

// 判断val是否在数组arr中
function has(arr, val) {
	for (var i = 0; i < arr.length; i++) {
		if (arr[i] === val) {
			return true;
		}
	}
	return false;
}
// 数组去重
function noRepeat(arr) {
	var newArr = [];
	var index = 0;
	// 对arr进行循环
	for (var i = 0; i < arr.length; i++) {
		if (!has(newArr, arr[i])) {
			newArr.push(arr[i]);
		}
	}
	return newArr;
}
var res = noRepeat([10, 2, 3, 4, 2, 2, 11]);
console.log(res);

21.字符串

charAt()
功能求指定位置的字符
参数表示位置的整数 从0开始
返回值对应位置的字符
特点用法基本与数组的indexOf类似

indexof() 从前往后找字符串,找到返回字符串首尾字符的下标,否则返回-1

lastIndexOf() 从后往前找字符串,找到返回字符串首尾字符的下标,否则返回-1

  • substr()

  • substring()

  • slice()

console.log(str2.substr(2)); // 从序号为2开始截取到末尾
console.log(str2.substr(2, 5)); // 从序号为2开始截取5个字符

console.log(str2.substring(2)); // 从序号为2开始截取到末尾
console.log(str2.substring(2, 5)); // 从序号为2开始截取到序号5为止不包含结束位置
console.log(str2.substring(5, 2)); // 内部会把2和5对调

console.log(str2.slice(2)); //  从序号为2开始截取到末尾
console.log(str2.slice(2, 5)); // 从序号为2开始截取到序号5为止不包含结束位置
console.log(str2.slice(5, 2)); // 数字大的不能放第一个参数 否则不会出结果

变成首字符大写

// 'hello' 如何变成首字母大写
var str2='hello';
console.log(str2.toUpperCase()); 	// 全部转成大写
console.log(str2.toLowerCase());	// 全部转成小写
console.log(str2.charAt(0).toUpperCase() + str2.substr(1));
  • split()
var str3 = "http://www.baidu.com?a=1";
var arr = str3.split('?');
var arr2 = str3.split(''); //参数为空字符串 拿到所有单个字符组成的数组
  • replace()
//替换全部的两种写法
var str4 = '大家好,sb,我是sb';
var newStr2 = str4.split('sb').join('**')

var str4 = '大家好,sb,我是sb';
while ((index = str4.indexOf('sb')) !== -1) {
	str4 = str4.replace('sb', '**');
}

22.Math对象

//ceil() 向上取整 floor() 向下取整
// round() 四舍五入 往数大的去靠
// max,min
// pow(a,b)
// random() [0,1)

随机产出0-10的整数 1-10 5-15 m-n

function getRandom(m, n) {
	return Math.floor(Math.random() * (n - m + 1) + m);
}

for (var i = 0; i < 50; i++) {
//console.log(Math.floor(Math.random() * 11)); 0-10
//console.log(Math.floor(Math.random() * 10 + 1));
console.log(getRandom(5, 15));
}

23.日期对象

//产生一个日期对象  new Array()  new Date()
var d = new Date();
console.log(d.toLocaleString()); // 2020/7/19 下午2:37:50

parse()

console.log(Date.parse(str)); // parse() 解析出一个数字 从1970年1月1日到该时间经历的毫秒数

getTime()

var endTime = new Date("2021-10-1");
var now = new Date();
console.log(endTime.getTime() - now.getTime());
//返回值  从1970年1月1日到该时间经历的毫秒数
JavaScript入门一(JS基础知识) 文章目录一、JavaScript是什么二、网页组成2.读入数据总结 一、JavaScript是什么        JavaScript(简称“JS”)百度解释如下: 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。   & 阅读详情

相关推荐

如何用capl操控程控电源(RS232)

capl脚本操控RS232

xiaohuanxiong_的博客 3993

数组中的 forEach 和 map 的区别?

forEach 和 map 的相同点 相同点 都是循环遍历数组中的每一项 forEach 和 map 方法里每次执行匿名函数都支持 3 个参数,参数分别是 item(当前每一项), index(索引值),arr(原数组) 匿名函数中的 this 都是指向 window 只能遍历数组 都不会改变原数组 区别 map 方法 1.map 方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值 ...

大牛的博客 715

kmeans聚类分析结果怎么看_【Stata与机器学习】物以类聚-KMeans算法应用案例介绍...

古语有云:物以类聚,人以群分。KMeans是无监督机器学习中的聚类算法中最简单的一种——基于特征对样本进行归为不同的类,很好地阐述了‘物以类聚’这句话的精髓。机器学习又叫统计学习。既然都统计了,所以当然包括了计量经济学。所以一般来说,机器学习的算法类型远多于计量经济学。比如线性回归,这个算是机器学习算法中比较基础的部分。当然,计量经济学在回归分析、因果推断方面的造诣,也是普通机器学算法所不能比的。...

weixin_39857480的博客 1万+

JS操作数组的常用API

能够基于当前数组中的一或多个项创建一个新数组,slice()方法可以接受一或两个参数,即要返回项的起始和结束位置,在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项,例如slice(3),则从下标为3的元素开始提取。但不一定要传数组,可传多个参数,如果传入的是非数组,则直接把参数合并到数组的后面。splice()方法需要传入2个以上的参数,第一个参数是索引开始的位置,第二个参数是删除元素的数量,第三个参数是在开始索引的位置插入的元素(可以为多个元素)。

庸人方自扰,自在就好 1861

VSCode配置C/C++开发环境:从零安装MinGW-w64并运行第一个C程序

在Windows系统上搭建C语言开发环境时,很多初学者混淆编辑器、编译器与调试器的分工,导致配置过程屡屡受挫。理解VSCode作为轻量级编辑器的定位,以及MinGW-w64提供的gcc编译器在源码编译中的核心作用,是顺利完成环境配置的关键。环境变量的正确设置直接影响gcc命令能否全局调用,而C/C++插件则赋予编辑器语法高亮与智能提示能力。通过安装VSCode、配置MinGW-w64、安装插件、汉化界面并运行一个最简单的hello.c程序,就能系统掌握这套开源工具链的完整工作流。无论是用于课程学习、算法练习

weixin_42531923的博客 533

【rk3566/3568】Android 11移植gms

【rk3566/3568】Android 11移植gms 1、前言 测试功能时,想去Google play store去下个应用测试,发现通过网页搜索总是下载不到正确的谷歌服务框架;于是就不得不去搞一个内置的gms。 2、移植 1、需要下载Android 11对应的gms的包 opengapps 2、看下文件目录 直接移植core里面的文件,GAPPs Optional按需添加 3、在vendor下创建google目录 ...

lin_ff的博客 7647

JAVA API Arrays求数组的和、平均值、最小值、最大值

JAVA API Arrays求数组的和、平均值、最小值、最大值

简简单单的学习笔记,致力于帮助更多前进路上的朋友~ 2814

MATLAB安装配置libsvm(附MinGW64配置)

首先声明版本,本人PC系统Windows10 64bit,matlab安装的2016b,libsvm安装的version3.2.21.首先需要下载libsvm包:从林教授的网站上下载: http://www.csie.ntu.edu.tw/~cjlin/libsvm/2.将libsvm3.2.2解压到matlab/toolbox目录下:解压后:D:\matlab2016b\toolbox\libs...

github_35807147的博客 4万+

列举数组的15个API方法

常见的15个数组方法

不想写博客 1556

FPGA控制DDR读写(AXI4总线接口)

FPGA控制DDR读写

qq_42712308的博客 1万+

阿里云百炼平台创建智能体-上传文档

阿里云百炼智能体-上传文档文件

weixin_43930851的博客 1356

数组求和方法总结,学点干货

数组求和方法总结

qq_43682422的博客 2488

汽车信息安全--SHE中的密钥管理(二)

上一篇我们讲解了HTA基本概念,SHE和EVITA HSM区别以及SHE的架构,接下来我们聊一聊SHE中的密钥管理策略。

认真搞搞汽车MCU 2404

JavaScript基础入门,JS基础,JS入门

JavaScript简介,使用JavaScript,行内代码,内部代码,外部代码,理解Window对象,Window对象的方法,Window对象的属性,JavaScript语法,标识符,关键字,注释,代码规范,变量,定义变量,变量声明的提升,数据类型,原始类型,引用类型,监测数据类型,数据类型转换,算数运算符,辅助运算符

非歪的博客 605

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Node.js和Javascript的异同

JavaScript的组成: ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象) DOM(一些操作页面元素的方法) BOM(一些操作浏览器的方法) Nodejs的组成: ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象) os(操作系统) file(文件系统) net(网络系统) ...

【小石头的茅坑】 71万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【JavaScript】01-初始JS基础

渲染引擎:用来解析HTML和CSS,俗称内核,如chrome中的blink,老版本的webkit。是一种运行在客户端(自己的电脑,非远程服务器)的脚本语言(script是脚本的意思)。JS引擎:俗称JS解释器,读取网页中的JS代码,处理后运行,比如chrome中的V8。双标签,添加src链接到新创建的my.js内,最后在html页面运行。注意单双引号的使用:HTML中推荐用双引号,JS中推荐用单引号。举例,实际操作可以忽略,只是展示行内的形式。行内式的JS不建议使用,特殊时使用。

2301_76662826的博客 849

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Js基础_初识JavaScript

文章目录一、JavaScript是什么?二、Js作用三、浏览器执行Js 一、JavaScript是什么? 是一种运行在客户端的脚本语言(不需要编译,运行过程中由解释器逐行来进行解释执行) Node.js可以进行服务端编程 二、Js作用 1.表单动态校验(密码强度检测) 2.网页特效 3.服务端开发(Node.js) 4.左面程序(Electron) 5.App/小程序(Cordova) 6.控制硬件-物联网(Ruff) 7.游戏开发(cocos2d-js) 三、浏览器执行Js 浏览器分为两个部分 渲染引擎

认真,努力,记录学习 7392

黑马JS教程笔记(JavaScript教程)——JS基础

<head><title>JavaScript练习</title></head><body><script></script></body>

Dontla的博客 2658

【js】javaScript基础

js基本语法: (1)js语言在网页中出现的位置: js可以直接嵌入到网页中去写,也可以进行页面分离面,面。若进行页面分离后,引入外部文件用&amp;amp;lt;script src=&amp;quot;&amp;quot;&amp;amp;gt;&amp;amp;lt;/script&amp;amp;gt; 如果写在同一页面中,可以写在head标签里也可以写在body里面 &amp;amp;lt;script type=&amp;q

weixin_43689100的博客 563

node.js和javascript的关系

node.js是一个基于 Chrome V8引擎的 JavaScript 运行时环境 一、类比JavaScript和java JavaScript java V8 JVM node.js JRE JavaScript和java都是一门编程语言,至于两者的关系,是雷锋和雷峰塔的关系 V8是google开源的JavaScript引擎,用于执行JavaScript,...

【小石头的茅坑】 71万+

有 JavaScript 基础,怎么学习 Node.js

转自:知乎(侵删) 不知道题主所说的 JavaScript 基础具体有多少。JavaScript 本身是一门很完备(虽然坑也不少)的编程语言,有不少人随便用用 jQuery 就说自己有 JavaScript 基础,而对 JavaScript 的闭包,内存管理,原型链等特征的了解很少。 如果你真的对 JavaScript 这门语言很了解的话,那么可以给你省一些时间——你不用再去学习 Ja

hellochenlu的博客 701

前端——JavaScript(JS)代码基础

前端中的JavaScript代码基础

2402_88087197的博客 2888

Next.js, Node.js, JavaScript, TypeScript 的关系

【代码】Next.js, Node.js, JavaScript, TypeScript 的关系。

坚持输出,记录成长。 1743

node.js和JavaScript的关系

1. 什么是node.js node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时的环境。 2. 什么是JavaScript 2.1比较JavaScript 和 Java 两者之间没有关系 V8是google开源的JavaScript引擎,用于执行JavaScript;类似JVM执行java字节码。在node.js 诞生之前,V8是内置于Chromeium中的,现在也...

weixin_41160054的博客 5537

初识JavaScript——JS

目录 1.认识JS 1.1JavaScript是什么 1.2JS的作用 1.3 HTML/CSS/JS的关系 1.4 浏览器执行JS 1.5JS的组成 1.6JS书写位置 1.7JS注释 1.8JS输入输出语句 2.变量 2.1变量的理解和储存 2.2变量的使用 2.3变量语法拓展 2.4声明变量的特殊情况 2.5变量的命名规范 1.认识JS 1.1JavaScript是什么 1.JS是一种 运行在客户端的脚本语言。 2.脚本语言不需要编译,在运行过程中有J.

孙宇航的博客 3065

JavaScript基础——JS简单案例

JS基础案例

m0_68794863的博客 5966
上一篇: 谷歌userdata 缓存 移动位置
下一篇: Windows系统目录下文件夹汇总
Sun_Raiser
博客等级 码龄7年 2986粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sun_Raiser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值