首页 > 编程语言 >JavaScript(一)

JavaScript(一)

时间:2023-10-03 13:34:34浏览次数:45  
标签:arr 变量 JavaScript 数据类型 let 声明 函数

javascript的组成:ECMAScript和WebAPIs(DOM、BOM)

 

注释

ctrl+/单行注释

shift+alt+a块注释

 

js的输入输出语法:

输出
document.weite("hello")//可以带标签,在body内输出
alert('alert')//弹窗警告
console.log("hello")//控制台输出

输入
let name = prompt("你叫:")

//aler()和prompt()会跳过页面渲染先被执行

字面量 :在计算机中描述事或物(数据)

变量:存储数据的容器

变量声明: let 变量名  //let 不允许多次声明一个变量
变量初始化: let 变量名 = 数据
变量赋值(变量更新):变量名 = 数据

//也不建议一次声明多个变量 如:let a=1,b=2这类

//let 和 var的区别
//以前的javascript使用 var关键字而不是let
//var 可以先使用再声明,声明过的变量可以重复声明,函数作用域
//建议用let
//let 块级作用域

变量拓展 数组:将一组数据存储在单个变量名下的优雅方式
let arr = []

变量的本质:在内存中申请了一块用来存储数据的空间

变量命名规则

禁关键字和保留字

首字符:字母、下划线、$

首字符之后:字母、数字、下划线、$

字母严格区分大小写

小驼峰命名法 如myName

 

常量

const PI = 3.14
//必须初始化,不允许重新赋值

 

js数据类型

基本数据类型 (值类型)存储变量时存储的是值本身 在栈里

number 、string、Boolean、undefined、null

引用数据类型(复杂类型、引用类型) 存储变量时存储的是地址(引用) 在地址存在栈里值存在堆里

通过new关键词创建的对象 object、Array、Data

由此理解以下两点:

简单数据类型传参和复杂数据类型传参的区别

数组和对象为什么推荐使用const来声明

 

//js是弱数据类型,赋值之后才能知道变量属于哪类
//number
//string '' "" ``包裹的都叫字符串
//boolean
//undefined 只声明不赋值
//null 赋值为空、无、值未知

 

算数运算符+-*/%

+数字相加、字符相连

模板字符串 ${}

控制台输出语句:数字型和布尔型为蓝色,字符串和undefined为灰色

检测数据类型 typeof(x)和 typeof x

类型转换

表单和prompt获取过来的数据默认是字符串类型

隐式转换

+(算术运算符加号)任一侧有字符则字符相连

-*/ 转数字类型

''-1   //-1  
''+1   //"1"
"a"-1  //NaN
null+1 //1 null数字转换为0
undefined+1 //NaN
NaN+1    //NaN

//''、0、undefined、null、false、NaN 转布尔后为false

//小技巧
//+号作为正号解析可以转换成数字型
console.log(+'203') //数字型203

显式转换

转数字类型

Number()

parseInt()只留整数

ParseFloat()可保留小数

转字符类型

String()

变量.toString()

 

赋值运算符 = += -= *= /=

自增自减运算符

比较运算符

字符串比较依次比较AscII码

小数比较有精度问题

 

表达式语句

表达式是可以被求值的代码

语句是一段可以执行的代码

 

分支语句

 

数组

const arr = [数据1,数据2...]
const arr = new Array(数据1,数据2....)
//增
arr.push()//添加到末尾
arr.unshift()//添加到头部
//删
arr.pop()
arr.shift()
arr.splice(起始下标,个数,还能添加)
//改
arr[下标] = 新值
//查
arr[下标]
//冒泡排序 小泡冒上来
//数组排序
//升序
arr.sort(function(a,b) {
   return a -b
})
//降序
arr.sort(function(a,b) {
return b-a
})

 

函数

//具名函数声明
function 函数名(参数列表) {
   函数体
}

/*函数名命名规范:
can能否执行某个动作
has是否含有某个值
is是否为某个值
get获取某个值
set设置某个值
load加载某些数据*/

//实参多于形参 舍去 但可以在arguments里面查看所有实参
//形参多于实参 undefined 设默认值更严谨

//无retrun时默认返回undefined
//return 直接结束整个方法,不论有多少层循环
//for 结束当前循环

//作用域
//函数内部未声明直接复制的变量当全局变量

//匿名函数
//使用方式 1函数表达式
let fn = function() {}
//先声明再调用,否则报错
//2立即执行函数
//形式1
(function(){})()
//形式2
(function(){}())
//多个立即执行函数需要;分开

逻辑短路

对象

//声明
const obj = {
   uname:'dudu',
}
const obj = new Object()

//增
//对象名.新属性 = 新值
//删
delete obj.uname
//改
//对象名.属性名 = 新值
//查
obj.uname
obj['uname'] //"",特别适用于user-name这种多词属性

//遍历对象
for (let k in obj) {
console.log(k)//属性名
   console.log(obj[k])//属性值
}

内置对象

Js内部提供的对象,包含各种属性和方法给开发者调用

Math

random:生成0-1之间的随机数[0,1)

ceil:向上取整

floor:向下取整

max:找最大数

min:最小数

pow:幂运算

abs:绝对值

标签:arr,变量,JavaScript,数据类型,let,声明,函数
From: https://www.cnblogs.com/yheyi/p/17741043.html

相关文章

  • JavaScript框架:构建交互性、现代化Web应用的利器
    ......
  • javascript: Sorting Algorithms
     //SortingAlgorithmsintJavaScripthttps://www.geeksforgeeks.org/sorting-algorithms//***fileSort.js*1.BubbleSort冒泡排序法*@paramarry*@paramnszie*/functionBubbleSort(arry,nszie){vari,j,temp;varswapped;for(i=0;i......
  • JavaScript高级技巧:深入探索JavaScript语言的高级特性和用法
    当我们谈论JavaScript高级技巧时,以下是一些示例来说明这些概念:闭包(Closures):functionouterFunction(){varouterVariable='Hello';functioninnerFunction(){console.log(outerVariable);}returninnerFunction;}varmyFunction=outerFunction();myFu......
  • javascript: Bubble Sort
     //SortingAlgorithmsintJavaScript/***fileSort.js*1.BubbleSort冒泡排序法*/functionBubbleSort(arry,nszie){vari,j,temp;varswapped;for(i=0;i<nszie-1;i++){swapped=false;for(j=0;j<n......
  • 无涯教程-JavaScript - WEBSERVICE函数
    描述WEBSERVICE函数从Internet或Intranet上的Web服务返回数据。语法WEBSERVICE(url)争论Argument描述Required/OptionalurlTheURLofthewebservice.RequiredNotes如果参数无法返回数据,则WEBSERVICE返回#VALUE!错误值。如果参数导致一个无效的字符串或包......
  • 无涯教程-JavaScript - ENCODEURL函数
    描述ENCODEURL函数返回URL编码的字符串。语法ENCODEURL(text)争论Argument描述Required/OptionalTextAstringtobeURLencoded.Required适用性Excel2013,Excel2016Example参考链接https://www.learnfk.com/javascript/advanced-excel-statistical-encode......
  • 无涯教程-JavaScript - UPPER函数
    描述UPPER函数将文本转换为大写。语法UPPER(text)争论Argument描述Required/OptionalText您要转换为大写的文本。文本可以是引用或文本字符串。Required适用性Excel2007,Excel2010,Excel2013,Excel2016Example参考链接https://www.learnfk.com/javascri......
  • 无涯教程-JavaScript - UNICODE函数
    描述UNICODE函数返回与文本的第一个字符相对应的数字(代码点)。语法UNICODE(text)争论Argument描述Required/OptionalTextTextisthecharacterforwhichyouwanttheUnicodevalue.RequiredNotes如果文本包含部分替代或无效的数据类型,则UNICODE返回#VALUE!......
  • Javascript之Object、Array
    Object.keys 对象的键转化为数组Object.values 对象的属性值转化为数组Object.assign 对象的合并 Array.from()伪数组对象的属性值转化为数组。类似Object.valuesArray.reduce 将数组的值减为单个值(从左到右)   ......
  • 无涯教程-JavaScript - UNICHAR函数
    描述UNICHAR函数返回给定数字值引用的Unicode字符。语法UNICHAR(number)争论Argument描述Required/OptionalNumberNumberistheUnicodenumberthatrepresentsthecharacter.RequiredNotes返回的Unicode字符可以是字符串,如UTF-8或UTF-16代码。如果Unicod......