JavaScript 基础2

打印 上一主题 下一主题

主题 1047|帖子 1047|积分 3141

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
js的运算符

算数运算符

+ 相加求和,假如用在字符串则是拼接
-相减求差
*相乘求积
/相除求商
%模除求余
具体用法如下
  1. let num = 154
  2. let num2 = 15
  3. document.write(num+num2)
  4. document.write(`<br>`)
  5. document.write(num-num2)
  6. document.write(`<br>`)
  7. document.write(num*num2)
  8. document.write(`<br>`)
  9. document.write(num/num2)
  10. document.write(`<br>`)
  11. document.write(num%num2)
  12. document.write(`<br>`)
复制代码
最后输出结果

赋值运算符

a=b,把b赋值给a
a+=b,a=a+b
a-=b,a=a-b
a*=b,a=a*b
a/=b,a=a/b
a%=b,a=a%b
自增自减运算符

let num = 114514
num++  等价于  num=num+1
num--  等价于  num=num-1
每次增大概减的单位都是1
比力运算符

let a=12,b=22
a>b   false,a大于b,判断为假
a<b   true,a小于吧=b,判断为真
a>=b   false,a大于大概等于b,判断为假
a<=b   true,a小于大概等于b,判断为真
a!=b true,a不等于b,判断为真
a!==b true,a不全等于b,判断为真

a==b   false,a等于b,判断为假
a===b   false,a等于b并且a与b范例相同,判断为假
假如a是100,b是"100",则a==b为true,a===b为false。
假如a是100,b是100,则a==b为true,a===b为true。
a!==b a和b不相同,并且范例也差异
大于小于这些都和==类似,不判断范例是否相同
逻辑运算符

 &&  两边同时为真则为真
||  两边有一个真就是真,假如都是假则为假
!  布尔值反转,真变假,假变真
^  二进制的运算
a    = 0111 0101
b    = 1001 1010
a^b = 1110 1111
二进制相同位数的值差异为1,相同为0
短路:
在a&&b运算的时候假如a判断为假,则整个a&&b都为假,不会判断b
在a||b的运算的时候,假如判断a为真,则整个a||b为真,不会判断b
三元运算符

a ? b :c
假如a为真,值为b,否则值为c
 
  1. //补0案例 输入1 输出01
  2. let num = prompt("input a number")
  3. document.Write(`${num < 10 ? "0"+num : num}`)
复制代码
输入小于十的数会补一个0 
if语句

if,判断
  1. if(表达式){
  2.     语句
  3. }
复制代码
假如表达式的为真,则实验语句。为假不实验

if...else...
  1. if(表达式){
  2. 语句a
  3. }else{
  4. 语句b
  5. }
复制代码
假如表达式为真实验语句a否则实验语句b

if...else if...else
  1. if(表达式1){
  2. 语句a
  3. }else if(表达式2){
  4. 语句b
  5. }else{
  6. 语句c
  7. }
复制代码
假如表达式1为真实验语句a,假如表达式1为假去判断表达式2,假如表达式2为真实验语句b,假如表达式2为假实验语句c。可以嵌套很多很多很多很多很多很多个if else 
switch语句

  1. let num=2
  2. switch(num){
  3.   case 1:
  4.     document.write("1")
  5.     break
  6.   case 2:
  7.     document.write("2")
  8.     break
  9.   case 3:
  10.     document.write("3")
  11.     break
  12.   default:
  13.     document.write("0")
  14. }
复制代码
根据num去匹配对应的。num=2,则case 2匹配,实验case2的语句  
要求:num和1范例相同,值相同才会匹配。
document.write("2")
    break
break用于跳出switch语句否则case3 和 default都会被实验
while语句

  1. while(循环条件){
  2. 循环体
  3. }
复制代码
假如循环条件为真则实验循环体代码,为假竣事循环
可以利用break直接竣事整个循环,continue跳过本次循环进入下一个循环 
for语句


  1. for(a;b;c){
  2. 循环体
  3. }
复制代码
a一般是用于变量的初始化,b是循环条件,c用于循环变量更新。而且abc三个语句都是可以省略的
可以利用break直接竣事整个循环,continue跳过本次循环进入下一个循环
js函数 

函数的声明
无参函数声明:
function 函数名(){
        函数体
}

调用:函数名()

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

调用:函数名(对应参数)

由于js的变量无论什么范例都是一样的表现情势,以是参数列表里面只需要写变量名就可以了。
  1. function sum(num1,num2){
  2.     return num1 + num2[5];
  3.   }
  4.   let num = sum(1,[3,4,5,6,7,8,9])
  5.   document.write(num)
复制代码
return x 返回变量x,函数一旦实验了return就会立刻终止,不会继续实验下去。
同样,我们并不确定函数接收到了参数没有,假如没有通报参数,在运行的时候也是不会报错的。以是就需要我们给变量形参一个默认的值。这样就可以有一个兜底的情况。我们也可以在这里声明形参所需要的实参是什么范例的。
假如我们想检测我们通报的参数范例是否正确,不正确就打印出函数实参范例错误。
 
  1. function sum(num1 = 0,num2 = 0){
  2.     if(typeof num1 === "number" && num2 ==="number")
  3.     {   
  4.          return num1 + num2
  5.     }else{
  6.         console.log("error")
  7.         }
  8. }
复制代码
大概直接给形参和返回值加个限定
  1. function sum(num1:number,num2:number):number{
  2.       
  3.          return num1 + num2
  4.    
  5. }
复制代码
function sum(num1:number,num2:number):number里面的:number就是说这个参数范例是number范例,假如不是就会报错。形参列表外面的:number就是对函数返回值的限定
现在为止我们所学到的数据范例有

  • number 数字范例
  • string 字符串
  • bool 布尔值
  • undefined 未界说
  • null 空
  • array 数组
总结:函数的作用在于将一段可能被多次利用的代码整合在一起,方便多次利用。
js匿名函数

具有函数名的函数成为具名函数,我们上面讲的就是具名函数。
匿名函数就是没有名字的函数,匿名函数的调用可以有一下方法:
1.将匿名函数赋值给变量
  1. let alpha = function(num1: number, num2, num3): number {
  2.     return num1 + num2 + num3;
  3.   }
  4.   let a = alpha(1,2,3)
  5.   console.log(a)
复制代码
 相当于把一个函数赋值给一个变量,调用的时候变量名取代了函数名。
2.立刻实验函数
  1. (function(x,y){
  2.     console.log(x*y)
  3. })(5,4);
  4. //结果打印20到控制台
复制代码
这个函数会被直接实验,不需要调用,也没法调用。而且立刻实验函数之间要加分号
js对象 

界说
  1. let name = {
  2.         属性名:属性值,
  3.         方法名:函数
  4. }//逗号隔开,最后一个不需要加逗号
复制代码
有点像GO语言的map,c的布局体,python的字典之类的。
访问
name.属性名  得到   属性值
name.方法名()    调用函数
对象的增删改查
1.增
 
  1.   let goods ={
  2.     name:"小米",
  3.     id : "100012816024",
  4.     weight : 0.55,
  5.     address : "中国大陆",
  6.   }
  7. goods.money = 1999
复制代码
对象名.新属性名 = 新值。完成添加操纵
2.删
  1. let goods ={
  2.     name:"小米",
  3.     id : "100012816024",
  4.     weight : 0.55,
  5.     address : "中国大陆",
  6.   }
  7.   delete goods.name
复制代码
delete 对象.属性  删除指定的属性
3.改
  1. let goods ={
  2.     name:"小米",
  3.     id : "100012816024",
  4.     weight : 0.55,
  5.     address : "中国大陆",
  6.   }
  7.   goods.name = "华为"
复制代码
对象.属性 = 新值 更改值,假如不存在对应属性就是增操纵
4.查
  1. let goods ={
  2.     name:"小米",
  3.     id : "100012816024",
  4.     weight : 0.55,
  5.     address : "中国大陆",
  6.   }
  7.   goods.name
复制代码
对象.属性 查询操纵,返回属性的属性值
对象的操纵增删改查都可以利用对象名["属性名"]来取代
 
  1. 对象.name   ===   对象["name"]
  2. delete 对象.name   ===   delete 对象["name"]
  3. 对象.name = "qwe"   ===   对象["name"]="qwe"
复制代码
遍历对象
  1. for(let x in 对象){//x是属性的名,也就是循环的把对象里面的属性名或者方法名轮番赋值给x
  2.  console.log(对象[x])//输出对应的参数,如果是函数则会打印该函数,不运行
  3. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表