js入门基础语法
js入门基础语法
什么是javaScript
概述
javaScript是世界上最流行的一门脚本语言
javaScript是一门很随意的语言 有句话叫做如果可以重新来过我就只愿意学javaScript
足够简单可以写前端也可以写后端
java和javaScript没关系知识名字恰好比较像 蹭java的热度
历史
博客JavaScript的起源故事-CSDN博客
javaScript从开发到上线10天
ECMAScript他可以理解成javaScript的一个标准
最新的版本语句到了es6版本了,但是大部分的浏览器还停留在es5代码上 这就使得开发环境和线上环境,版本不一致
快速入门
引入javaSciprt
内部标签
<script>
//``````
</script>
外部引入
abs.js
//
test.html
<script src="abs.js"></script>
基本语法入门
<script>
// 1.定义变量 变量类型 变量名=值;
var score=71;
alert( score);
// 2.条件控制
if(score>60&&score<80){
alert("及格");
}else if(score>=80){
alert("优秀");
}else{
alert("不及格");
}
//console.log(score) 在浏览器的控制台打印变量 相当于java中发sout
</script>

数据类型
变量
var 王者荣耀="倔强青铜"//只有数字不能大头
number
js不区分小数和整数,Number
123 //整数
123.1 //浮点数
1.123e3 //科学计数法
-99 //负数
NaN // not anumber
Infinity //表示无线大
字符串
"zbc" 'zbc'
布尔值
true false
逻辑运算
&& 两个都为真
|| 一个为真,结果为真
! 真就是假 假就是真
不叫运算符!!!!!!重要
= 赋值预算符
== 等于(类型不一样,值一样,也会判断成true)
=== 就对等于(类型一样,值一样,结果true)
这是js的一个缺陷,坚持不要用= =比较
须知:NaM= =NAN,这个与所有的数值都不相等,包括自己
只能通过isNAN(NAN)来判断这个数是否是NaN
浮点数问题
console.log((1/3)===(1-2/3))
尽量避免使用浮点数进行运算,存在精度问题!
Math.abs(1/3-(1-2/3))<0.00000001
null 和undefine
- null 空
- undefined 未定义
数组
**java的数组必须是相同类型的对象~,js中不需要这样 **
//保证代码的可读性,尽量使用[]
var arr =[1,2,3,4,5,6,'hello',null,true];
new Array(1,2,16,3,8,2,'hello');
取数组下标:如果越界了,就会
undefined而不是报错
对象
对象是大括号 数组是中括号,每一个属性之间使用逗号隔开,最后一个属性不需要添加
var person={
name:“qinjiang”,
age:3,
tags:['js','java']
}

数据类型
字符串
- 正常我们使用单引号或者双引号包裹
- *注意使用转义字符 *
- ' 单引号
- \n 换行
- \t tab
- \u4e2d Unicode字符
- \x41 Ascll字符
- 多行字符串编写
//tab 上面esc键下面
var msg=`
Hello
world
`
- 模版字符串
let name="qinjing"
let age=3;
let mag=`nihaoya,${name}`
- 字符串长度
str.length - 字符串的可变性和不可变性
Let student="student"
Console.log(student[0]) s
Student[0]=1 1
Console.log(student) student
- 大小写转换
student.toUpperCase()
student.toLowerCase()
- student.indexOf('t') //什么下表
- subing
[)
student.subing(1) //从第一个字符串截取到最后一个
student.subing(1,3)//包头不包尾

数组
Array可以包含任意的数据类型
var arr=[1,2,3,4,5,6]
- 长度
arr.length
注意: 加入给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失

- indexof,通过元素获得下标索引、
arr.indexof(2) //1
字符串的1和数字1不一样

- slice() 截取Array的一部分,返回一个新数组
类似于string的substring

- pop(),push()
添加删除从尾部

- unshift(),shift()
添加删除从头部

- 排序 sort()
- 元素反转reverse()

- 拼接concat()
并不会修改数组,只是会返回一个新数组

- 连接符 join
打印数组,使用特地的字符串连接

- 多维数组
- fill

对象
若干个键值对
var 对象名={
属性名:属性值,
属性名:属性值,
属性名:属性值
}
var person={
name:"kuangsheng",
age:3,
email:"1985298021@qq.com",
score:0
}
js中的对象,{}表示一个对象,键值对描述属性XXXXXX:XXXXXX多个属性之间使用逗号隔开,最后一个不加逗号!!!!
- 对象赋值
person.name="qinjiang"
"qinjiang"
person.name
"qinjiang"
- 使用一个不存在的对象属性,不会报错! undefined
person.haha
undefined
- 动态的删除属性
delete person.name
true
person
- 动态的添加
person.haha="haha"
"haha"
person
- 判断属性值是否在这个对象中! XXX in XXX!
'age' in person
true
//继承 tostring是父类有的
'toString' in person
true
- 判断属性值是否在这个对象自身有的hasOwnProperty()
person.hasOwnproperty('toString')
false
person.hasOwnProperty(;age)
true
流程控制
判断
var age =3
if(age>3){
slert('hah');
}else if(age<5){
alert('kuwa');
}else{
alert('kukuku~~~~');
}
循环避免死循环
while(age<100){
age=age+1;
console.log(age);
}
for(let i=0;i<100;i++ ){
console.log(i);
}
do{
age=age+1;
console.log(age);
}while
//数组循环=>函数循环 foreach
var person={ 1,1,2,3,6,58,52,41}
person.forEach(function (value)){
console.log(value)
}
//数组循环
for(var num in person){
console.log(person[num])
}
map set
es6 新特性
map
//统计学生的成绩和学生的名字
//var names=["tom","jack","haha"]
var map=new Map(['tom',100],['jack',90],['haha',90])
var name=map.get('tom');//取值
map.set('admin',123456)//添加
console.log(name);
map.delete("tom")//删除
set
var set=new Set([3,1,1,1,1])
console.log(set)//去重 3,1
set.add(2) //添加 3,1,2
set.delete(1) //删除
console.log(set.has(3))//是否包含某个元素
iterator
es6 新特性
遍历迭代
//通过 for of 实现 迭代循环 通过for in下表
//遍历数组
var arr=[3,4,5]
for(var x of arr){//不仅可以打印数组还可以打印集合
console.log(x)
}
//遍历map集合
var map=new Map(['tom',100],['jack',90],['haha',90])
for(var x of map){
console.log(x)
}
//遍历set集合
var set=new Set([3,1,1,1,1])
for(var x of set){
console.log(x)
}
js入门基础语法的更多相关文章
- Scala快速入门 - 基础语法篇
本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...
- js入门基础
JavaScript语言介绍 JavaScript的历史 诞生于1995年,最初名字叫做Mocha,1995年9月改为LiveScript.Netscape公司与Sun公司(Java语言的发明者)达成 ...
- [JS] javascript基础语法
W3CSchool全套Web开发手册:点击下载 1.javascript是什么 js是具有面向对象能力的,解释性的程序设计语言. 2.js的类型 [基本类型]:string number boolea ...
- node.js入门基础
内容: 1.node.js介绍 2.node.js内置常用模块 3.node.js数据交互 一.node.js介绍 (1)node.js特点 与其他语言相比,有以下优点: 对象.语法和JavaScri ...
- react入门----基础语法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- css与html 与js的基础语法
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sample_2-23456.a ...
- JS的基础语法
8.运算符号表达式 ①数学运算符 数学运算符有+.-.*./除().%(余数) var a = 10; var b = 5; alert(a+b); 预览以后在网页上弹出的对话框数值就是15. ②逻辑 ...
- js入门基础7-2 (求模-隔行变色)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python入门-基础语法
一.变量 定义字符串要加单引号‘’ 变量命名规范: 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 变量名不能用关键字 变量名不要用中文 变量名不要太长,区分大小写 面就用单引 ...
- 转帖 JS的基础语法2
条件语句(if.switch). 循环语句(while.do…while. for … in).跳转语句(break,continue) 1.条件语句 Ø if语句 javascrip中的if语句 v ...
随机推荐
- python打包exe自定义图标
1.生成.ico图标 https://www.aconvert.com/cn/icon/jpg-to-ico/ 2.打包 pyinstaller -F -w -i 666.ico pdfToword. ...
- 工具 | todesk最新版设备代码、连接密码读取工具,附下载链接
工具介绍: todesk最新版读取设备代码.连接密码 工具 下载链接: 下载链接: todesk最新版读取设备代码.连接密码 工具下载 使用说明 工具使用效果如图
- Mysql 实现 rank 和 != 问题
我一直相信, 人是能预测未来的, 这应该是前几年看弗洛伊德, 荣格的一些心理学书, 给我的一些感受, 有个片段是关于做梦的, 一个人梦见子弹穿过他自己的头颅, 结果不久, 他就去世了. 这个片段当时给 ...
- Manim:动画制作背后的魔法
Manim是一个强大的数学动画制作库,它能够帮助我们创建出令人惊叹的动画,无论是用于教学还是娱乐. 不过,对于初学者来说,Manim的内部工作机制可能显得有些复杂. 本文将从整体上简单介绍Manim的 ...
- AI写程序:让Manus分析一个github项目生成一个官方网站
提出问题,使用Manus帮我生成一个官方网站 提问: 我有一个github项目,是https://github.com/dependon/simple-image-filter ,请根据这个项目的内容 ...
- 简述odoo18的一个请求执行流程
以下是Odoo中一个完整请求走向的每一步所涉及的技术细节: 用户发起请求: 技术:HTTP/HTTPS协议,通过Web浏览器或其他HTTP客户端库. 到达WSGI服务器: 技术:通常使用Gunicor ...
- 面试题-简单介绍 Spring MVC 执行流程或者Spring MVC的工作原理
摘要 简单介绍一下当用户在客户端发起请求后,Spring MVC 的执行流程,提升自己对Spring框架的认知层次.一言以蔽之,解答[Spring MVC的工作原理是什么],这是一个热点面试题. ...
- 在Amazon Q辅助下,半小时开发了一个俄罗斯方块游戏
大家好,我是晓凡 写在前面 在AI的辅助下,晓凡基于HTML.CSS和JavaScript 开发了简单的俄罗斯方块游戏. 小伙伴们可直接跳转文末获取源码. 一.最终效果 二.功能特点 7种经典方块形状 ...
- The length of parametric curve (x + sin x, cos x)
问题引入 一个硬币(圆)的周长上有一个点,将硬币在一条线上无滑动地滚动.假设那个点开始时在最上面,滚了半圈到了最下面,求这个点相对于地面的运动轨迹的长度. 或者说,再简单点,自行车总骑过吧.假如你在骑 ...
- 洛谷P2024 [NOI2001]食物链 种类并查集
洛谷P2024 [NOI2001]食物链 题目描述 见食物链 - 洛谷 \(n\le5*10^4\) \(k\le10^5\) Recollection 初中的时候想了一个假掉了的算法想了很久. 刚刚 ...