我是李君子 发表于 2024-2-6 18:02:26

JavaScript 大佬速成 - 1 原生JavaScript 部分

本帖最后由 我是李君子 于 2024-2-7 23:04 编辑

Js是一种轻便灵活实用的网页脚本语言
是IT程序的基础

本系列将带您在最短的时间内学会JavaScript

如何使用
Web方法

HTML内嵌::
<script>/*jscode*/</script>
HTML引入::
<script src="PATH"><!--此处内容均为无效--></script>

Linux方法

安装Nodejs
pkg i nodejs
pkg install nodejs
能用哪个用哪个
安装完后
输入node
命令格式为node [线路]或者node
然后就可以写代码了
.help帮助
.end结束



输入输出
console.log(str)
//将字符打印到控制台上
document.write(str)
//把字符打印到网页上( 需要DOM支持 )
alert(str)
//弹窗(Linux Node不支持)
print(str)
//有些环境不支持此方法
//此方法打开打印对话框 以打印当前文档。
//您可以将以下代码加入到js中
var print = str => { console.log(str);return str }
//此函数会将内容输出到控制台上并返回内容

注意: print方法是存在的


变量

var name = something
//声明一个变量为任意类型的值 此方法会污染全局
let name = something
//声明一个变量为任意类型的值 此方法不会污染全局
const name = something
//声明一个固定的量为任意类型的值 此方法不会污染全局
/*可生明的变量类型有
布尔类型 即true 和false
数字类型 如123456
字符类型 如"str"
函数类型 如function(){ code }
对象类型 如{ code }
数组类型 如[]
关于对象类型
var obj = {
成员1: 成员1的值
成员2: 成员2的值
对象成员可以是任意类型
对象内的值可以用this引用同对象里的值
}
对象外引用对象内的值语言用.运算符引用
比如obj.num1

关于数组类型
var array =
对应的索引为array array array

声明变量需要注意命名规范
变量名不能以数字开头
JS没有C一样的指针 也没有PHP一样的文件指针
*/
1 + 1
//2 变量加减
1 + "1"
//2 将字符转换为变量加减
1 + "str"
//1str 字符拼接
!""
//false 符号运算
name++;++name
//变量自加
name--
//变量自减
/*
基础运算符
+_*/%
分别对应 加 减 乘 除 求余数
逻辑运算符
! && ||
分别对应 非 与 或
*/


判断与循环

if(条件){}
//如果满足条件则执行
值 || 如果第一个值不存在则执行的值
//二元表达式
if(条件){}else{}
//如果不满足条件则执行else后面的代码
条件?语句:语句
//三元表达式
//当if或者else又或者是elseif条件后如果只有一行则可以省略大括号写在同一行
if(){}elseif(){}else{}
//连续判断
if(){if(){}}
//if嵌套
while(条件){}
//条件为true则执行大括号里的语句
for(赋值给一个量;条件;量自加){}
//该循环好处在于不用再声明量个量的自加
for 值 in 数组名{}
//推导式


函数与对象
类对新手比较难理解 所以就不教类 抽象类 接口 之类的东西了

//例子
var obj = {
num1 : 12,
num2 : "5",
num3 : this.num1 + obj.num2/*17 +会先试着把字符转换为数字*/,
def: function(){}
}
//声明函数mydef
function mydef(num){
return num
}
//num为函数参数 一个函数可以有多个参数
alert(mydef(5))//使用自定义函数 返回mydef的num参数的值给alert函数的第一个参数 弹出5

const myfunction = str => { console.log(str); return str; }
//声明剪头函数myfunction
console.log(myfunction("字符"))
//输出 字符字符

function(){}
//该函数会立即执行

obj.def()
//执行obj的def子函数 但是注意def子函数是空的无意义函数


常用函数

eval("代码")//将字符转换为代码执行
变量名.toString(进制)//将数字转换为特定进制的字符
变量名.toFixed(保留多少位)//避免精准度问题
变量名.length //长度


模块
原生JS导入函数库(注意script元素一定要打上标签type="module")::
import 引用的模块内容 from 来源文件的线路
import * export default from 线路/*引用整个文件*/

NODEJS::
注意这个是终端命令
npm 安装操作

Random

//random是非常有趣且实用的
console.log(Math.random())
//生成0-1之间的伪随机数
console.log(Math.floor(Math.random()*10))
//在0-10之间随机生成整数
//Math.floor是向下取整


结语
好像1章还讲不完
那我们就分几张讲
大家休息吧
[贴吧_滑稽][贴吧_滑稽][贴吧_滑稽]

克里昂一世 发表于 2024-2-6 18:14:09

看得我头晕
但,前排支持!

XiaozhiSans 发表于 2024-2-7 23:00:46

挺好的[贴吧_大拇指]
至少我能理解[贴吧_滑稽]

观察猪 发表于 2024-2-9 15:32:44

讲的有点快[贴吧_汗]
能讲讲递归吗

我是李君子 发表于 2024-2-9 16:41:33

观察猪 发表于 2024-2-9 15:32
讲的有点快
能讲讲递归吗

这个东西其实很简单
只不过专业术语总是把他弄得很难理解

假如你需要连续过滤多个条件
那么呢很简单我们就能知道
我们判断之后还需要在加上一个或多个判断
第一个判断完执行下一个判断 判断完再执行下一个判断 以此类推 这就是一种简单的递归

[贴吧_呵呵][贴吧_呵呵][贴吧_呵呵]

shundebo 发表于 2024-2-18 18:37:12

Linux方法。。。
你指望全世界用pkg[贴吧_阴脸]
最好标注一下

mouranj 发表于 2024-2-26 01:45:48

看不懂思密达[贴吧_阴脸](

GivenSvelte87 发表于 2024-2-26 22:02:03

还是JS大佬(

PorkHamburger 发表于 2024-3-6 22:54:30

只学过python,看不懂[抖音_488]
页: [1]
查看完整版本: JavaScript 大佬速成 - 1 原生JavaScript 部分