JS基础和js高级

html引入js的两种方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--方式一外部引入-->
    <script src="js/bootstrap.js"></script>
</head>
<body>
<!--方式二 内部引入,当前页面有效-->
<script>
    js代码
</script>
</body>
</html>

js的三种输出方式:

<script>
    alert("方式一弹窗");
    document.write("方式二:输出到页面");
    console.log("方式三:输出到控制台");
</script>

js的变量定义

  	//let 修饰变量 可以定义任意类型
    //const 修饰常量
  let i=1;
  const pi=3.14;

js常用数据类型:
String:字符串和字符型,单引号或者双引号括起来,
number:整型和浮点型;
boolean:布尔型
undefined:未定义
null:空
object:对象 new关键字来创建
js运算符

  let i=3;
  let s='3';
  if (i==s){ //会做隐式转换
      alert("true"); //结果为true
  }
  if(i===s){ //先判断类型如果类型不同直接返回false
      alert("true");
  }

js条件判断:
if(布尔值){
}
if语句除了支持布尔值还可以:
String:非空都是true;
number:非0都是true;
null:false
undefined:未定义为假
for循环:

<script>
    //增强for循环 快捷键iter
    let list=['德玛西亚之力','德玛西亚皇子','德邦总管','暗夜猎手'];
    for (let s of list) {
        console.log(s);
    }
    //普通for循环 快捷键 list.fori
    for (let i = 0; i < list.length; i++) {
        console.log(list[i]);
    }
    //索引for循环 快捷键forin
    for (let index in list) {
        console.log(index);
        console.log(list[index]);
    }
</script>

js函数:

    语法:
            function 函数名(参数列表){
                return 函数体;
            }
       特点:
            1)不需要指定返回值类型
            2)形参不需要指定修饰符
            3)如果有返回值直接加return
            4)没有方法重载,后加载会覆盖重名的函数
            5)函数语法不严谨,弱类型语言
            6)支持可变参数
            <script>
  function sum(a,b){
      return a+b;
  }
  function sum(a,b,c){
      return a+b+c;
  }
  function sum(...args){
      let sum=0;
      for (let i of args) {
          sum+=i;
      }
      return sum;
  }
  console.log(sum(1, 2,3,4));
</script>
  // 匿名函数
  function (){
      //方法体
  }

js常用事件:

onclick:单击事件
ondbclick:双击事件(触发之前会触发单击事件)
onblur:失去焦点
onload:页面加载时间
onchange: 表单控件的值改变触发的时间(:下拉框)
onsubmit:提交事件 提交表单时触发,会根据方法体内的布尔值决定提不提交数据,通常和正则表达式一起使用

js内置函数:
date: toLocaleString() 将date转成本地时间格式字符串
math: floor 向下取整
ceil:向上取整
全局函数:
字符串转数值,从第一个字符开始到非数值类型字符串结束
parseInt()
parseFloat()
对字符串编码和解码,现在几乎所有浏览器都具有自动编码和解码的能力
encodeURI() 编码
decodeURI() 解码

BOM对象: 把浏览器窗口封装成了一个bom对象
页面弹框:

	**windows对象**
   //警告框
  alert("第一种弹框");
  //确认框
  confirm('第二种弹框'); // 会返回一个布尔值
  //输入框
  prompt("请输入您的账号") //会返回用户输入在弹框中的值
  <button onclick="cleanint()" >关闭打印自然数</button>
<button onclick="cleanset()" >关闭打印时间</button>
<script>
    //两种定时器
    //1. 周期性定时器
    let sum=1
    let interval=setInterval(function (){ //每两秒输出一次sum
        console.log(sum);
        sum+=1;
    },1000);
    // 2.一次性定时器
    let settimeout=setTimeout(function (){
        console.log(new Date().toLocaleString());
    },4000)
    function cleanint(){
        clearInterval(interval);
    }
    function cleanset(){
        clearTimeout(settimeout);
    }
</script>
**location对象**
<button onclick="jump()">跳转地址</button>
<button onclick="jump1()">在新窗口跳转地址</button>
<script>
    console.log(location.href); //获取当前页面地址栏地址
    function jump(){
        location.href="https://www.baidu.com" //跳转到这个地址
    }
    function jump1(){
        window.open("https://www.baidu.com") //打开新窗口跳转页面
    }
</script>

DOM: 把页面所有的标签抽闲成了一个document对象(内存中是一颗dom树)

<form action="#" method="get">
    姓名 <input type="text" name="username" id="username" value="德玛西亚"/> <br/>
    密码 <input type="password" name="password"> <br/>
    生日 <input type="date" name="birthday"><br/>
    性别
    <input type="radio" name="gender" value="male" class="radio">男&emsp;
    <input type="radio" name="gender" value="female" class="radio"/>女<br/>
    爱好
    <input type="checkbox" name="hobby" value="smoke">抽烟
    <input type="checkbox" name="hobby" value="drink">喝酒
    <input type="checkbox" name="hobby" value="perm">烫头<br/>
    头像 <input type="file" name="pic"><br/>
    学历
    <select name="edu">
        <option value="0">请选择</option>
        <option value="1">入门</option>
        <option value="2">精通</option>
        <option value="3">放弃</option>

    </select><br/>
    简介
    <textarea name="userIntro" cols="30" rows="10">默认值</textarea><br/>
    <input type="reset" value="清空按钮"/>
    <input type="submit" value="提交按钮"/><br/>

</form>
// 1.获取id="username"的标签对象
    // es5语法
    console.log(document.getElementById("username").value);
    // es6语法
    console.log(document.querySelector("#username").value);


    // 2.获取class="radio"的标签对象数组
    // es5语法
    console.log(document.getElementsByClassName("radio"));
    // es6语法
    console.log(document.querySelectorAll(".radio"));
    // 3.获取所有的option标签对象数组
    // es5语法
    console.log(document.getElementsByTagName("option"));
    // es6语法
    console.log(document.querySelectorAll("option"));

    // 4.获取name="hobby"的input标签对象数组
    // es5语法
    console.log(document.getElementsByName("hobby"));
    // es6语法
    console.log(document.querySelectorAll("input[name='hobby']"));
    // 5.获取文件上传选择框
    console.log(document.getElementsByName("pic"));
    console.log(document.querySelector("input[name='pic']"));

DOM操作内容
js对象.innertext; 支持普通文本
js对象.innerhtml; 支持超文本
js对象.outhtml; 可以改变标签
DOM操作属性:
js对象.setattribute(“属性名”,“属性值”); 设置属性名为属性值
js对象.removeattributr(“属性名”); 移除属性
js对象.getattribute(“属性名”); 获得属性名的属性值
DOM操作样式:
js对象.style.cssText=“css”;
js对象.className=“classs选择器名”
JSON对象:
简单语法
{name:value,name:value}
数组类型
let users=[
{name:value},
{name:value}
]
复杂类型
let person={
name:value,
array:[{name:value},{name:value}],
user:{name:value}
}
JSON格式转换
//1.JSON.stringify(object) 把json对象转为字符串
//2.JSON.parse(string) 把字符串转为json对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值