;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Ciência explica por que escovar dentes deixa o café da manhã com gosto ruim

Felipe Oliveira

Colaboração para Tilt

10/08/2021 11h47

Você acorda, escova os dentes e na sequência prepara um café quentinho para começar bem o dia. Se você já fez esse ritual, já deve ter percebido que aquele cheiro prazeroso do café não corresponde a sensação dos primeiros goles, algumas vezes o gosto é até mais amargo do que você esperava. Acertamos?

Pois saiba que a ciência é capaz de explicar esse gosto diferente (muitas vezes desagradável) que notamos quando comemos ou bebemos algo pouco tempo após escovar os dentes. O "culpado" por isso é o Lauril sulfato de sódio (SLS), que bloqueia os receptores de sabor que podem detectar a doçura dos alimentos.

A substância química é responsável pela formação da espuma durante a escovação e possui ação detergente.

A pesquisadora especialista em alimentos Rosie Alderson explica que o SLS é um surfactante, ou seja, possui uma extremidade que adora gordura (hidrofóbica) e uma extremidade que adora água (hidrofílica). De acordo com um artigo escrito por ela no Everyday Science, plataforma que publica textos sobre a ciência e tecnologia do nosso dia a dia, essa substância também é usada em detergentes e géis de banho.

Ação na pasta de dente

Aí você pode se perguntar: mas se tem esse efeito, por que esse produto químico é utilizado na pasta de dente? Bom, ele é utilizado por conta de sua capacidade de diminuir a tensão superficial da água.

As moléculas SLS se alinham na superfície da água com os líquidos que gostam de gordura e odeiam água, longe da superfície da língua. "Esse processo ajuda a estabilizar as bolhas para que elas não estourem imediatamente, mas persistam", explica a especialista.

Essa capacidade do SLS de formar bolhas é útil na pasta de dente porque facilita que a espuma formada durante a escovação se espalhe pela boca. Ele atua como uma espécie de sabão, matando bactérias e ajudando a reduzir a placa bacteriana.

Além disso, as moléculas SLS podem se conectar a receptores da língua que permitem que você sinta os sabores doces — e temporariamente elas inibem a ação desses receptores.

Além disso, os fosfolipídios, moléculas de gordura da língua que bloqueiam os receptores amargos, são desmontadas pelo SLS, ou seja, você acaba sentindo ainda mais os sabores amargos dos alimentos.

São esses dois efeitos somados que fazem com que a comida e a bebida, especialmente as coisas mais doces, fiquem com gosto diferente após a escovação dos dentes.