首页 > 编程语言 >06、Python爬虫——前端JS相关知识(一)

06、Python爬虫——前端JS相关知识(一)

时间:2024-08-26 22:57:19浏览次数:8  
标签:06 运算 Python void sign JS false null undefined

前端JS相关

三元运算

v1 = 条件 ? 值A : 值B;
res = 1 === 1 ? 99 : 88  # res = 99

如果条件成立则返回冒号前的那个值,如果条件不成立则返回冒号后面那个值 

特殊的逻辑运算

v1 = 1===1 || 2===2

这种运算是比较运算+或运算,在或(||)的前面和后面都是比较运算,前后的返回值都是ture,因为是或运算,只需要满足一个条件就可以返回,因此v1的值为ture

v2 = 9 || 14
V3 = 0 || 15

最终结果取决于哪个值?  在这里v2是一个或,前面为真,因此结果为9    v3的话,这里同样也是或,在或前面值为假,因此取后面那个真值,最后结果为15

赋值和比较

v1 = 11 === (n=123)

结果为false

案例

v1 = 1 > ( n = 2) || 1 === 1 ? 9 : 8

大家在这里可以先计算一下再看下面的解析

首先将2赋值给n ,中间有一个或运算, 在或运算的后面是一个三元运算   1 === 1 ?9 :8

这个三元运算的答案为9,在或运算前面是 1 > 2 结果为false,  因此v1的最终答案为 9

var o = (null === (n = window.byted_acrawler) || void 0 === n ?void 0 : null === (a = n.sign) || void 0 === a ? void 0 : a.call(n, i) )  || "";

这个案例是某头条的JS运算,下面将会一步步的对这个JS进行分析

#分析  n = window.byted_acrawler   Null === n   进行比较  要么是ture  要么是  false                void 0 === n ? void 0 : null === (a = n.sign)  是一个三元运算   在这里要知道void 0 为undefined(Null和undefined的区别在下方进行了说明比较)   可以发现undefined和n比较不正确,因此返回null === (a = n.sign)     在这里 a =  n.sign    a = window.byted_acrawler.sign    这里可以发现 a 是不等于空的,因此为false    在看前面  null  === n  n也是不为空 ,因此结果也是false                       这里  var  o  = (false || false || void  0 === a ? void  0 : a.call (n,i))  || "";

void  0  === a  ? void 0 : a.call(n,i)  也是一个三元运算  可以发现  返回值为 a.call(n,i)

var o = window.byted_arcawler.sign.call(n,i)  || ""

在JavaScript中null和undefined的区别

1、Null  表示一个“无”的对象,转为数值为0;作为函数的参数,表示改函数的参数不是对象;作为对象原型链的终点;Number(null)为0;JSON。stringify(null)为'null'(字符串)

2、Undefined  变量被声明了,但是没有赋值,就等于undefined;调用函数时,应提供的参数没有提供,该参数等于undefined;函数没有返回值时,默认返回undefined

标签:06,运算,Python,void,sign,JS,false,null,undefined
From: https://blog.csdn.net/YCH0309/article/details/141568021

相关文章

  • python实例演示贝叶斯定理在机器学习中的应用
    贝叶斯定理是一种概率论中的基本公式,用于计算在已知条件下事件发生的概率。它的通俗解释可以理解为:当你获得新信息时,如何更新对某个事件发生概率的判断。贝叶斯定理公式贝叶斯定理的数学表达式是:P(A∣B)=P(B∣A)⋅P(A)P(B)P(A|B)=\frac{P(B|A)\cdotP(A)}{P(B)}P(A∣B)=P......
  • 代码随想录训练营day29|134.加油站,135. 分发糖果,860.柠檬水找零,406.根据身高重建队列
    加油站想法:暴力遍历?好吧第一遍写的时候读错题意了,以为是比较gas[i]与cost[i+1]的值,shit。intsum1=0,sum2=0;for(intg:gas)sum1+=g;for(intc:cost)sum2+=c;if(sum1<sum2)return-1;//如果gas没cost多intyouliang=0;intn=gas.size()......
  • 加减法| python矩阵运算(学习笔记一)
    python的数学运算部分基本都在使用numpy模块,如果初次使用python,安装该模块最简单的办法就是:搜索框输入cmd打开命令提示符,输入以下代码等待安装即可。pipinstallnumpy如果不确定是否安装好,打开pycharm(此处默认为已经安装该软件),输入以下代码:importnumpyasnp之后即可定......
  • python+flask计算机毕业设计电影网站系统(程序+开题+论文)
    文件加密系统的设计与实现tp835本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,网络娱乐已成为人们日常生活中不可或缺的一部分,其中电影作为重要的文化娱乐形式,......
  • python+flask计算机毕业设计高校宿舍信息管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的普及与校园规模的不断扩大,高校宿舍作为学生日常生活与学习的重要场所,其管理效率与质量直接关系到学生的安全、健康及学习环......
  • python+flask计算机毕业设计高校科研申报系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育事业的蓬勃发展,高校科研活动日益频繁且复杂多样,成为推动科技进步和社会发展的重要力量。然而,传统的科研申报与管理模式往往依......
  • python+flask计算机毕业设计基于的地铁售票系统的设计与实现(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,地铁作为现代城市公共交通的重要组成部分,其便捷性、高效性和环保性日益凸显。然而,传统的地铁售票方式往往面临排队时......
  • python+flask计算机毕业设计餐厅快捷就餐系统(程序+开题+论文)
    校园二手货物交易平台m1a2o本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快,人们对餐饮服务的效率与便捷性提出了更高要求。传统餐厅的就餐流程往往存在排队等候时......
  • python+flask计算机毕业设计关于梦想的贴吧系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在信息爆炸的时代,网络社交平台已成为人们分享生活、交流思想的重要场所。随着个人成长与自我实现的追求日益增强,人们越来越渴望找到一个能......
  • 用Python给英语单词批量划分音节
    一、问题的缘起最近,有网友在我的视频下面留言,问我可否把英语单词进行音节的划分?我以前也有同样的想法,但是始终没有得到解决。但是,我想使用python,学习英语的人都很多,说不定有人已经编写了类似的模块供我们调用呢?问题截图于是,我就抱着试试看的心情,在网上搜了一下,果然,某搜索......