首页 > 其他分享 >前端(五)

前端(五)

时间:2023-04-17 16:00:40浏览次数:29  
标签:obj log 标签 前端 var console d1

前端(五)

js函数

<script>
      function index(){  /*定义函数*/
        console.log('你好');
      }
      index();  /*调用函数*/
</script>

function sum(a,b){  /*带参函数,js只有位置参数,没有关键字参数*/
          console.log(arguments);  /*arguments是数组类型,所有的参数都会存在这里*/
          return a+b;  /*如果有不传的参数就是undefined,数字加undefined为NaN*/
      }
var res = sum(1,2);  /*少传,多传并不报错*/
console.log(res);

"""js中一般不会报错,因为是和用户打交道的,错了会没有效果"""

var sum = function(a,b) {  //匿名函数
          return a+b;
      }
console.log(sum(1,2));  // 调用匿名函数,直接变量名加括号传参

(function(a,b){
          return a+b;
})(1,2)  // 直接调用匿名函数,不推荐使用

函数是全局变量和局部变量

var x = 100;  // 全局变量
function f(){
    var x = 50;  // 局部变量
    function z(){
        var x = 25;  // 就近原则,没有定义则报错
        console.log(x);  // 局部变量
    }
    z();
}
f();

自定义对象

// 就是python中的字典

var obj={}; // 空对象
console.log(typeof obj);
console.log(obj);

var obj = {'name':'keiven', 'age':20};
console.log(obj);
console.log(obj.name);
console.log(obj.age);
obj.salary = 2000;  // 增加一个值
obj['a']= 1;  // 增加一个值
obj['name'] = 'zangsan';  // key存在就是改值,不存在就是增加
delete obj.name;  // 删除name
var obj1 = new Object();  //定义一个空对象

Date对象

// 在js中操作时间
var d1 = new Date();  // 定义一个Date对象
console.log(d1.toLocaleString());  // 获取当前时间
console.log(d1.toUTCString());  // 获取UTC时间
console.log(d1.getDate());  //获取日期
console.log(d1.getMinutes());  // 获取月
console.log(d1.getFullYear());  //获取年
console.log(d1.getYear());  //获取从1900至今过了多少年,不用这个了
console.log(d1.getHours());  //获取小时
console.log(d1.getMinutes());  //获取分
console.log(d1.getSeconds());  //获取秒
console.log(d1.getMilliseconds());  //获取毫秒
console.log(d1.getTime());  //获取时间戳

json对象

// 在JavaScript中的json对象,必须掌握
var str = '{"name":"zhangsan", "age": 18}';
var ovj = JSON.parse(str);  // 反序列化
console.log(ovj);

var s = JSON.stringify(ovj);  // 序列化
console.log(s);

RegExp对象

// 正则对象,正则表达式是一门独立的语言

var res = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");  // 定义正则对象
console.log(res.test('xhjkch123'));  // test方法只给结果,只会返回true或者false

var res = 'zhangsan goubi';  // 第二种定义方式
s = res.match(/s/);  // 默认情况只匹配一次
console.log(s);
s1 = res.match(/s/g);  // 全部匹配
// 默认区分大小写,加i 就可以忽略大小写
console.log(s1);

Math对象

abs(x)  // 返回绝对值
exp(x)  // 返回e的指数
floor(x)  // 向下取整
log(x)  // 返回对数
max(x,y)  // 最大值
min(x,y)  // 最小值
pow(x,y)  // 次方
random()  // 0~1的随机数
round(x)  // 四舍五入
sin(x)  // 正弦
sqrt(x)  // 平方根
tan(x)  // 正切

// 用法:Math.abs(-10);

BOM和DOM

// BOM 了解 DOM 掌握
// js 分为核心语法,BOM(浏览器对象模型,用js操作浏览器),DOM(文档对象模型,用js操作html标签)
// window.document.write()可以简写成document.write()

BOM对象

● window.innerHeight - 浏览器窗口的内部高度
● window.innerWidth - 浏览器窗口的内部宽度
● window.open() - 打开新窗口
● window.close() - 关闭当前窗口

# navigator对象
navigator.appName  // Web浏览器全称
navigator.appVersion  // Web浏览器厂商和版本的详细字符串
navigator.userAgent  // 客户端绝大部分信息 # 需要掌握,它代表了是不是浏览器(爬虫)
navigator.platform   // 浏览器运行所在的操作系统

# history对象
history.forward()  // 前进一页
history.back()  // 后退一页

# location对象(务必掌握)
# URL:统一资源定位符,网址
location.href  获取当前页面URL
location.href="URL" // 跳转到指定页面
location.reload() // 重新加载页面, 刷新页面

# 弹出框
1. alert(123);  // 纯弹框加写在括号里的提示语
2. confirm(123);  // 自带确定取消并且返回true和false加写在括号里的提示语
3. prompt(123,22);  // 给出一个输入框,供用户输入,并且返回输入值,括号中第一个是提示语,第二个是默认值

计时相关

1. setTimeout  // 定时器
	clearTimeout  // 清除定时器
2. setInterval  // 每隔一段时间执行一次
	clearInterval  // 清除上面那个

DOM相关的

DOM标准规定HTML文档中的每个成分都是一个节点(node) ##   每一个html标签都可以称作是一个节点(node)

# 我们称标签可以这样称为:a标签  a元素  a节点

JavaScript 可以通过DOM创建动态的 HTML # 直接在body中写自带的标签,我们可以通过dom来动态创建标签

● JavaScript 能够改变页面中的所有 HTML 元素
● JavaScript 能够改变页面中的所有 HTML 属性
● JavaScript 能够改变页面中的所有 CSS 样式
● JavaScript 能够对页面中的所有事件做出反应

"""
	如何学习dom
		1. 先学会查找标签--------->选择器
		2. 找到标签之后,再操作标签
"""

直接查找(务必掌握)

1. id
2. class
3. 标签选择器
document.getElementById           根据ID获取一个标签
document.getElementsByClassName   根据class属性获取
document.getElementsByTagName     根据标签名获取标签合集

间接查找

parentElement            父节点标签元素
children                 所有子标签
firstElementChild        第一个子标签元素

节点操作

# 节点操作是动态操作html标签
1. 动态创建img标签
  var img = document.createElement('img');  // <img />
  var div = document.getElementById('d1');

// 2. 如何给标签添加属性
img.src = '123.png';
// img.width = '100px';
// 添加属性的时候,点语法只能添加标签自带的属性
img.alt = 'aaaa';
// img.username = 'kevin';

// 设置标签不自带的属性
img.setAttribute('username', 'kevin')  //
img.setAttribute('width', '100px')  //

// 获取属性
console.log(img.getAttribute('username'));

// 删除属性
img.removeAttribute('username');


// appendChild------------->末尾追加元素

2. 创建一个a标签
    var a = document.createElement('a');
    var div = document.getElementById('d1');
    // 设置属性
    a.href = 'http://www.baidu.com';  // <a href=''></a>
    a.target = '_blank';
    a.title = '_blank';
    // 给a标签添加文本属性
    // a.innerText = '<h1>点击我</h1>';// <a href=''>点击我</a>  它不能识别html标签
    a.innerHTML = '<h1>点击我</h1>'  // 它可以识别html标签
    console.log(a);

获取值操作(掌握)

# 针对的是form表单里面的值操作
var iEle = document.getElementById("i1");
console.log(iEle.value);
var sEle = document.getElementById("s1");
console.log(sEle.value);
var tEle = document.getElementById("t1");
console.log(tEle.value);

class的操作

# 用js来动态操作class属性

classList.remove(cls)  删除指定类
classList.add(cls)  添加类
classList.contains(cls)  存在返回true,否则返回false
classList.toggle(cls)  存在就删除,否则添加

指定CSS操作

obj.style.backgroundColor="red"

obj.style.margin
obj.style.width
obj.style.left
obj.style.position

标签:obj,log,标签,前端,var,console,d1
From: https://www.cnblogs.com/juzixiong/p/17326128.html

相关文章

  • 关于 Fiori 应用里 SAP UI5 前端开发和 SEGW 后台 OData 服务开发的工作量比值问题
    我的知识星球有朋友向我提问:Jerry您好!请问一个中等复杂度的FioriUI5应用,前端代码用freestyle方式纯自己写,后端用SEGW开发Odata服务,前后端的工作量的比值大概是多少?需考虑调试测试的时间。关于这个问题,首先我们得界定,什么算是一个中等复杂度的Fiori应用?从前台视角来看,......
  • 盘点国内前端npm CDN替代方案,基本上可以替代unpkg、jsdelivr
    收集一波常见的加速NPM包的CDN,发现有些还是挺好用的,用来做博客或者网站加载NPM使用还是可以的。经典老牌的CDN加速unpkg.comcdn.jsdelivr.netfastly.jsdelivr.net使用方法:直接进官网,搜NPM包名使用。缺点:有时候不是很稳定,而且国内有些地方没法访问,jsdelivr曾经被用来结合......
  • 前端学习笔记——Vue3组件间数值传递
    依据个人的学习需求,对Vue官网中组件部分内容的搬运和总结,可用于参看,想详细了解Vue3这部分特性的可以直接参考官网内容:https://cn.vuejs.orgprops是一种特别的attributes,我们可以在组件上生命注册。比如:如果我们要传递给博客文章组建一个标题的话,我们则必须在该组件的props列表......
  • 什么是前端开发领域的 Cumulative Layout Shift 问题
    CLS是CumulativeLayoutShift(累计布局偏移)的缩写,它是一个用于度量网页稳定性的指标。CLSissue指的是网页在加载过程中存在的累计布局偏移问题,这些问题会导致网页元素在页面上闪烁或跳动,影响用户体验。在前端开发中,CLSissue是一个常见的问题,通常由于页面中的图片、视频或广......
  • Drone+前端 实践
    1.nginx.confusernginx;worker_processes1;error_log/var/log/nginx/error.logwarn;pid/var/run/nginx.pid;events{worker_connections1024;}http{include/etc/nginx/mime.types;default_typeapplication/octet-stream......
  • 6. Element Plus前端组件库
    ElementPlus前端组件库大纲ElementPlus基本使用容器布局导航栏字体图标栅格布局卡片表单数据表格反馈提示ElementPlus基本使用Element-UI是基于Vue开发的一套UI组件库,提供丰富网页开发的组件,可快速开发网站,降低前端开发成本。目前ElementUI有两个版本:Eleme......
  • 前端设计,确定按钮正慢慢消失
    不论做什么产品,界面上几乎都少不了「确定」按钮,例如:操作提示时、进行选择时、填写表单数据时……完成、保存、下单……各种代表“确定某一步骤”的按钮,都可以统称为确定按钮。以前的产品设计,大量以来确定按钮,但是现在的产品设计,确定按钮用得越来越少了。倒不是因为不需要确定......
  • 什么是前端开发领域的 Cumulative Layout Shift 问题
    CLS是CumulativeLayoutShift(累计布局偏移)的缩写,它是一个用于度量网页稳定性的指标。CLSissue指的是网页在加载过程中存在的累计布局偏移问题,这些问题会导致网页元素在页面上闪烁或跳动,影响用户体验。在前端开发中,CLSissue是一个常见的问题,通常由于页面中的图片、视频或广......
  • 前端&后端程序员必备的Linux基础知识
    一从认识操作系统开始1.1操作系统简介我通过以下四点介绍什么操作系统:操作系统(OperationSystem,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;操作系统本质上是运行在计算机上的软件程序;为用户提供一个与系统交互的操作界面;操作系统分内核与外壳(我......
  • 前端小知识点扫盲笔记记录8
    前言我是歌谣放弃很容易但是坚持一定很酷微信公众号关注前端小歌谣带你进入前端巅峰交流群今天继续对前端知识的小结命令模式宏命令<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......