辑导语:收藏即学会?可能不知不觉间,你的收藏夹里已经躺了许多想看却没时间看、但是又满满都是干货的文章。可是收藏过后,你还会记得这些文章吗?这一行为在一定程度上反映了碎片化时代下,人们的信息囤积心理。本文作者对这一现象进行了详细的解读,不妨来看一下。
你的收藏夹里保存了这类视频文章吗?
图片来自B站截图
你的收藏夹里有多少这类视频文章呢?里面是否还有到现在还没学到手的呢?现在收藏普遍成为了大众保存信息的一种方式。如今,一些视频中也会出现 “一键三连”提示,收藏成为了评价传播内容接受度的标准之一。
收藏,即收集储存。普遍意义上的收藏是指对有价值物品的保存珍藏。
一种收藏是民间收藏,民间有大量收藏家收集古董玩物,其都不外乎看中了藏品的物质价值、精神价值或者观赏价值;另外一种收藏是国家收藏,比如国家图书馆对信息、知识类的物质载体进行收集、整理、归纳、储存,起到保存作用,以上都说明藏品的物质价值、精神价值或者观赏愉悦价值以及所进行收藏活动的保存性功能。
现如今跨入信息时代,各大网络平台、各类app里大多都可以发现“收藏”这一功能,平台开发者们为用户建构了一个与物理储存空间相似的数字储存空间。用户的收藏活动也从线下发展到线上,收藏之物从物质载体变为数字信息本身。
图片源于网络
纵观里的文章、知乎里的回答、抖音里的短视频、b站里的视频等等,“收藏家”们留下的痕迹无处不在,各类信息都有所涉猎。虽然收藏的内容多样,但都强调了收藏内容对“收藏家”的独特价值。
梅罗维茨在《消失的地域》中从媒介—场景—行为三个维度考虑媒介对受众的作用以及论述了他们之间的关系。他认为媒介通过创造新的信息系统,形成了一个新的情境,使人产生了新的行为。[1]
艾瑞咨询的《2020年中国在线知识问答行业白皮书》报告中显示:2020年,泛知识内容行业发展已成千万级别市场,而线上泛知识内容平台移动端网民渗透率已达86%,用户呈现出更愿意探索、分享、呈现出积极上涨的趋势,而知识内容平台和创造者则更尝试于发掘更下沉市场、更多元化的场景布置,使得知识获取更能渗透进日常生活方方面面。[2]
图片源于网络
从报告中可以了解到:知识类内容在互联网上已呈普及化,且网民对此需求度也高。另外,对于平台以及创造者也更愿意多元化地渗透进市场,迎合以及创造更多需求。
以bilibili为例,据DT财经《2020年视频趋势洞察报告》显示,过去一年,有超过8600万“学生”在B站上学习,从2020年初至9月的统计,每月有近130万个不同标签类别的知识内容被观看。[3]
其平台里涉及到的知识类信息,有日常生活的实用技巧分享;购物平台的省钱技巧;考研、考公、四六级等学习经验;美妆小知识;健身减肥类等,其都涉及我们日常生活方方面面的内容。
图片源于网络
媒介中知识场景的搭建,将学习这种私人场景从幕后转移到台前被大众所看到。对于用户来说,使用B站、小红书、知乎等这类涵盖了大量知识信息的分享类平台,可以让他们随时随地切换到学习场景,达到即时学习的状态。
用户在各类知识之间来回穿梭,收藏行为随处可见,并在各平台上建构属于自己的收藏空间。但是,随着收藏信息不断累计,用户的收藏行为也出现了一些新现象。
收藏成为现在储存碎片化信息的重要方式,为用户提供了一个无限制的数字空间。而人作为这个空间的使用者,肆无忌惮地去发掘知识信息,不断地去填充这个“小小”之地。使这片无毛之地开始野蛮生长成为“遍地黄金”。
在微博、小红书、知乎等中常会发现收藏的信息几十上百,可最后连自己都忘记了自己收藏了哪些信息。用户就在这种无意识地状态下不断增加新的信息,使得收藏的数量越来越多,产生了信息囤积的现象。
图片源于网络
囤积本来就是一种适应性行为。从蚂蚁、粪金龟,再到鼠类和人类,许多物种都以囤积食物来应对严酷的自然环境。也就是说,囤积行为是以应对环境变化所做出的本能反应,动物是把囤积食物作为应对多变的自然环境的一种方式。那么,人类所产生的囤积信息这种行为也是为应对易变的环境所做出的本能反应。[4]
这种行为的背后反映了人对环境改变所带来的失控感所产生的恐惧心理。在收藏的过程中,网络媒介的使用技术帮助人们挣脱肉体这座“牢狱”,化身为“神经漫游者”恣意驰骋于虚拟空间。知识情境的创建[5],让我们拥有无限的可能成为我们想成为的人。
但是,在“收藏从未停止,学习从未开始”这个大众名言背后,反映了当前大众的一些心理:
1)创造性的自我提升
用户的收藏行为,并非是漫无目的地展开,而是以自我为坐标轴,以自我能力、目标为导向向四处搜寻。在这个过程中,发挥了个人的主观能动性,每个人依据自己的不同,搜寻的方向结果都是不同的。这种独特的行为最终就是为了实现自我能力的提升。
2)懒惰、便捷心理
“十分钟速成”“0成本”科学高效”等标签,能够非常迅速地抓住受众眼球。在现在一个碎片化、高效的时代,人往往都会选择直接、高性价比的方式去选择所要接受的信息,想以此获得高回报。
3)对知识的崇拜
法国哲学家和社会学家米歇尔·福柯认为知识就是权力,社会秩序就是掌握知识的人凭借知识话语对不掌握知识的人的规训。[6]
这里强调了其结果,拥有知识的人具有一定的话语权,可以改变人的认知。分析这其中的关系,或许可以发现人们所信服的不是拥有知识的人,而是这人所拥有的知识。以及自己拥有这知识时的想象中的自己。
4)掌控信息,向信息求取安全感
各平台上设置的“收藏”这类保存性功能或许就是为此而设计。各类速成课、技巧方法等信息的大量充斥,一时大量的信息不易完全消化和吸收。很多对当时感兴趣的信息产生不愿意放过的心态,收藏这一功能就为受众提供了很好保存的途径,贴合了将信息可控于掌中、随时回头学习查看的心态。
看到了许多我们可以以此提升自我能力的方法技巧,也收获许多对自己来说有价值的信息,但时间、精力有限,在收藏活动过程中又出现出了“收藏即学习”“收藏即学会”“收藏即省钱”等“收藏即……”的网络语言。这些都将收藏这一行为直接向结果转向,省去了中间的行动过程。
图片源于网络
依靠于媒介技术,我们突破了时间与空间的限制。当我们与媒介产生连接时,我们与媒介产生了一种从离身到具身的转变。具身既是我们的身体向周围世界的“外化”,也是周围世界向我们身体的“内化”。[7]这种转变让我们达到物我合一的状态,媒介成为了自身的一部分,自身也因使用媒介而忘却周围的环境以及身体的各种动作反应。
“收藏即学习”等这一系列短语的出现,实则是用户身体观念被淡化,是媒介与人具身性的现象之一。用户将“收藏夹”与自己的身体联系了起来,而产生的一种“将知识收藏于收藏夹,就像知识装进了人的大脑”的学习幻觉。
“收藏即学会”也许是无意使用,又或是有意调侃,都形象地表现了一种快节奏现代生活方式。当大众有意或无意地使用这个词时,其实都是对所收藏的信息产生了某种情感联系,从而产生了对未来运用、吸取该知识后所达到的“理想中的我”的想象,以此取得情感上的满足。
这类词组的创造,一方面是人本身对信息囤积行为的一种极端化认识,是背离了收藏的初衷即获得知识的一种无奈调侃的反映;另一方面是媒介与人的相融,使个人意识忽略了人自身的能动性,将所收藏之物内化于大脑,成为了个人的所有物,产生了短暂的“已学习”“已学会”的满足感。
媒介搭建了让用户能够随时获取知识的场景,为用户学习提供了“物质保障”。网络世界的收藏行为,可以让我们获得知识的“占有权”,但如果我们不能消化、吸收,就永远没有获得对知识的“使用权”。
参考文献:
[1] 约书亚·梅罗维茨.消失的地域:电子媒介对社会行为的影响[M].肖志军,译.北京:清华大学出版社,2002.
[2] 艾瑞咨询.2020年中国在线知识问答行业研究报告[EB/OL].(2020-08-25)[2021-7-16].https://www.iresearch.com.cn/Detail/report?id=3637&isfree=0
[3]中国互联网数据咨询网.2020视频趋势洞察报告[EB/OL].(2020-09-03)[2021-07-16].http://www.199it.com/archives/1111793.html
[4] 杜建政,景卫丽.囤积症的行为心理特征及相关因素[J].心理科学,2014(4):993-997.
[5] 刘婷.在线社交中的身体悖论[J].新闻界,2018(10):65-74.
[6] 常圆.印象、观念、知识崇拜: 传播的接受研究[J].编辑之友,2019(12):42-46.
[7] 芮必峰,孙爽.从离身到具身——媒介技术的生存论转向[J].国际新闻界,2020(5):7-17.
作者:周霖;公众号:羊村传播
原文链接:https://mp.weixin.qq.com/s/lpTT8ym34H0ImmPpUSt5zw
本文由@羊村传播 授权发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议
明下,以下内容有些是自己写的有些是从别人的项目中参考和引用而来,还有的从别人写的博客中来,每次发现我就收藏了,不记得那个作者了,就不加贡献作者信息了,我也就不加原创声明了。
/**
* @description 将单词转换为首字母大写
* @param {String} word 需要转化的单词
*/
export function wordUpper(word) {
return word.replace(word[0], word[0].toUpperCase());
}
/**
* @description 检查一个对象是否有子元素
* @param {Object} item 检查的对象
* @param {String} keyname 子元素的 keyname
*/
export function hasChildren(item = {}, keyname = "children_list") {
return item[keyname] && Array.isArray(item[keyname]) && item[keyname].length > 0;
}
/**
* @description 合法的邮箱
* @description 名称允许汉字、字母、数字,域名只允许英文域名
* @param {String} value 需要校验的数据
*/
export function isLegalEmail(value) {
return /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(
value
);
}
/**
* @description 获取当前页面的滚动位置
* @param {Any} getScrollPosition(); // {x: 0, y: 200}
*/
export function getScrollPosition(el = window) {
return {
x: el.pageXOffset !== undefined ? el.pageXOffset : el.scrollLeft,
y: el.pageYOffset !== undefined ? el.pageYOffset : el.scrollTop
};
}
/**
* @description 平滑滚动到页面顶部
* @param {Any} scrollToTop()
*/
export function scrollToTop() {
const c = document.documentElement.scrollTop || document.body.scrollTop;
if (c > 0) {
window.requestAnimationFrame(scrollToTop);
window.scrollTo(0, c - c / 8);
}
}
/**
* @description 表单元素转化为对象
* @param {Any} formToObject(document.querySelector('#form'));
*/
export function formToObject(form) {
return Array.from(new FormData(form)).reduce(
(acc, [key, value]) => ({
...acc,
[key]: value
}),
{}
);
}
/**
* 获取数组交集
* @param {*} list
* @param {...any} args
*/
export function intersection(list, ...args) {
return list.filter(item => args.every(list => list.includes(item)));
}
/**
* 分割指定长度的元素数组
* @param {*} list
* @param {*} size
* @param {*} cacheList
*/
export function listChunk(list, size = 1, cacheList = []) {
const tmp = [...list];
if (size <= 0) {
return cacheList;
}
while (tmp.length) {
cacheList.push(tmp.splice(0, size));
}
return cacheList;
}
/**
* 禁止网页复制粘贴
*/
export function disableCP() {
const html = document.querySelector("html");
html.oncopy = () => false;
html.onpaste = () => false;
}
/**
* @description 判读是否为外链
* @param path
* @returns {boolean}
*/
export function isExternal(path) {
return /^(https?:|mailto:|tel:)/.test(path);
}
/**
* @description 判断是否为数字
* @param value
* @returns {boolean}
*/
export function isNumber(value) {
const reg = /^[0-9]*$/;
return reg.test(value);
}
/**
* @description 判断是否是字符串
* @param str
* @returns {boolean}
*/
export function isString(str) {
return typeof str === "string" || str instanceof String;
}
/**
* @description 判断是否是数组
* @param arg
* @returns {arg is any[]|boolean}
*/
export function isArray(arg) {
if (typeof Array.isArray === "undefined") {
return Object.prototype.toString.call(arg) === "[object Array]";
}
return Array.isArray(arg);
}
/**
* @description 判断是否是身份证号(第二代)
* @param str
* @returns {boolean}
*/
export function isIdCard(str) {
const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
return reg.test(str);
}
/**
* @description 判断是否中文
* @param str
* @returns {boolean}
*/
export function isChina(str) {
const reg = /^[\u4E00-\u9FA5]{2,4}$/;
return reg.test(str);
}
/**
* @description 判断是否为空
* @param str
* @returns {boolean}
*/
export function isBlank(str) {
return (
str == null ||
false ||
str === "" ||
str.trim() === "" ||
str.toLocaleLowerCase().trim() === "null"
);
}
/**
* @description 判断是否为固话
* @param str
* @returns {boolean}
*/
export function isTel(str) {
const reg = /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})(-| )?)?([0-9]{7,8})((-| |转)*([0-9]{1,4}))?$/;
return reg.test(str);
}
/**
* @description 判断经度 -180.0~+180.0(整数部分为0~180,必须输入1到5位小数)
* @param str
* @returns {boolean}
*/
export function isLongitude(str) {
const reg = /^[-|+]?(0?\d{1,2}\.\d{1,5}|1[0-7]?\d{1}\.\d{1,5}|180\.0{1,5})$/;
return reg.test(str);
}
/**
* @description 判断纬度 -90.0~+90.0(整数部分为0~90,必须输入1到5位小数)
* @param str
* @returns {boolean}
*/
export function isLatitude(str) {
const reg = /^[-|+]?([0-8]?\d{1}\.\d{1,5}|90\.0{1,5})$/;
return reg.test(str);
}
/**
* 生成随机len位数字
*/
export function randomLenNum(len, date) {
let random = "";
random = Math.ceil(Math.random() * 100000000000000)
.toString()
.substr(0, len || 4);
if (date) random = random + Date.now();
return random;
}
/**
* 获取元素类型
* @param {*} obj
*/
export function dataType(obj) {
const reg = Object.prototype.toString
.call(obj)
.replace(/^\[object (.+)\]$/, "$1")
.toLowerCase();
return reg;
}
/**
* 对象数组去重
* @param {*} arr
*/
export function removalArr(arr) {
return [...new Set(arr.map(v => JSON.stringify(v)))].map(v => JSON.parse(v));
}
/**
* 数组求和
* @param {*} arr
*/
export function arrSum(arr) {
return arr.reduce((prev, cur) => prev + cur);
}
/**
* 小数位不够,用0补足位数
* @param {*} num
* @param {*} bit
*/
export function dealWithFun(num, bit) {
const fixNum = parseFloat(num);
if (isNaN(fixNum)) {
return 0;
}
let str_x = num.toString(); // 为了后面值的拼接
const point_decimal = fixNum.indexOf("."); // 取得小数点的下标key
// 位数不足补0
while (fixNum.length <= point_decimal.length + bit) {
str_x += "0";
}
return str_x;
}
去除字符串空格
去除字符串内所有的空格:str = str.replace(/\s*/g,"");
去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,"");
去除字符串内左侧的空格:str = str.replace(/^\s*/,"");
去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,"");
/**去除对象中为空或未指定值
* null => ''
* @param {*} data 要处理的数据
*/
function null2str(data) {
for (let x in data) {
if (data[x] === null) { // 如果是null 把直接内容转为 ''
data[x] = '';
} else {
if (Array.isArray(data[x])) { // 是数组遍历数组 递归继续处理
data[x] = data[x].map(z => {
return null2str(z);
});
}
if(typeof(data[x]) === 'object'){ // 是json 递归继续处理
data[x] = null2str(data[x])
}
}
}
return data;
}
结尾推荐一个网站 :
地址:
https://www.html.cn/30-seconds-of-code/#chunk
30-seconds-of-code
往期内容:
前端开发——工具篇
收藏篇】HTML基础 及其 更详细介绍
水平线:hr
width:宽度
color:颜色
align:对齐方式
size:高度
noshade:阴影 单一属性
列表
自定义列表 dl
dt:标题
dd:内容
有序列表:ol li
type:1 a A i I
无序列表:ul li
*请认真填写需求信息,我们会在24小时内与您取得联系。